正确的Regex-Syntax for Python中的re.sub替换

时间:2014-07-31 12:14:15

标签: python regex

我目前正在寻找正确的正则表达式来替换Python中的类似内容:

old_string包含:

some text
some text
<!-V
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat
V->
some text

我尝试更换<!-V *** V->部分:

import re
new_string = re.sub(r"<!-V(.*?)V->", '', old_string)

但似乎不正确,也许任何人都可以帮助我使用正确的正则表达式。

1 个答案:

答案 0 :(得分:7)

默认情况下,.与换行符不匹配。如果您希望.也匹配,请使用DOTALL标记:

new_string = re.sub(r"<!-V(.*?)V->", '', old_string, flags=re.DOTALL)

通过组合两个互补的字符类,还可以选择用匹配所有内容的字符类替换.

[\s\S]