繁体   English   中英

如何使用 python 中的正则表达式匹配两个单词之间包含新行的所有字符?

[英]How to match all characters inlcuding new lines in between two words using regex in python?

例如我有类似的东西:

OLD

WHO IS THIS

END?

On Sun, 22 Sep 2019 at 23:57,

我想从头到尾捕捉到\n\nOn Sun,
所以我的预期结果是:

OLD

WHO IS THIS

END?

我尝试执行以下模式: ^(.*)\n\nOn.* wrote:仅当我需要的文本不包含新行时才有效。 我真的很感激任何帮助。 谢谢。

不需要正则表达式试试这个:

text = """
OLD

WHO IS THIS

END?

On Sun, 22 Sep 2019 at 23:57,
"""

text = '\n'.join(line for line in text.split('\n') if line.startswith('On Sun'))
print(text)

Output:

OLD

WHO IS THIS

END?

直接翻译是

^OLD.+?(?=^On Sun)

请参阅regex101.com 上的演示(注意多行和单行标志)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM