【发布时间】:2016-06-23 18:02:58
【问题描述】:
我有一个搜索this 或that 的正则表达式。如果找到this,则将其替换为ONE。如果找到that,则将其替换为TWO。
这是在 Perl 中的样子:
m =~ s/(this)|(that)/ "ONE" x!! $1 . "TWO" x!! $2 /eg
e 是 eval 选项。 . 是一个串联。 x!! 充当 if 语句。
如何在 Python 3 中做同样的事情?我正在寻找类似的东西:
m = re.sub(r"(this)|(that)", ("ONE" * bool(match.group(1))) + ("TWO" * bool(match.group(2))), m, flags=re.EVAL)
我想我有两个主要障碍。首先,我不知道如何在正则表达式替换中获取match 对象within。其次,我不知道python是否支持eval或者最好的选择是什么。
【问题讨论】:
-
你检查documentation了吗?
标签: python regex perl python-3.x