python - 在 Python 中更正用于 re.sub 替换的正则表达式语法

标签 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)

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

最佳答案

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

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

还有一个选项可以将 . 替换为匹配所有字符的字符类,方法是组合两个互补的字符类:

[\s\S]

关于python - 在 Python 中更正用于 re.sub 替换的正则表达式语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25058613/

相关文章:

python - 用两个条件替换重复项

python - 如何从 tree.products() 中提取元素

ruby - 删除所有非单词字符的简单方法

javascript - JavaScript 中所有可打印字符的正则表达式

c++ - 如何允许最终用户使用正则表达式创建验证规则?

javascript - 删除最后一个之后的所有字符 - 但前提是 - 有四个字符

python - 在Python中使用 `for`循环语句解压序列结构

python - 使用 Python 查找两个文本文件的段落中的重复关键字,并在新的文本文件中列出结果(比较它们)

python - 在 pandas、OOP 类和字典之间进行选择 (Python)

javascript - 是否有 JavaScript 正则表达式可以删除除换行符之外的所有空格?