【发布时间】:2023-04-07 00:54:01
【问题描述】:
所以我使用以下正则表达式来解析文本并从特定字典中获取信息:
re.sub(r'(<Q\d+>)',lambda m: quotes[m.group(1)][1],text)
我想要做的是,只有当它要替换的是单独字典中的键时才替换它。逻辑上应该是这样的:
re.sub(r'(<Q\d+>)',lambda m: quotes[m.group(1)][1] if quotes[m.group(1)][1] in d,text)
现在如果我要运行以下命令,我会收到以下语法错误:
>>> re.sub(r'(<Q\d+>)',lambda m: quotes[m.group(1)][1] if quotes[m.group(1)][1] in d,text)
File "<stdin>", line 1
re.sub(r'(<Q\d+>)',lambda m: quotes[m.group(1)][1] if quotes[m.group(1)][1] in d,text)
^
SyntaxError: invalid syntax
怎么只能这样替换?
【问题讨论】:
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python lambda if 语句 re.sub - Python技术站