如何使用regex搜索具有不同空格数的模式?

2024-03-28 11:35:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试处理一个文本文件,并使用正则表达式识别某些模式。我希望我的程序能够识别以下模式:

Pattern\n
Pattern \n
Pattern  \n

等,我想能够识别的模式与任何数量的空格或制表符(有区别吗?)在“模式”和回车之间。你知道吗

我看过 How to ignore whitespace in a regular expression subject string?但我不明白为什么表达式的前后都有斜杠。你知道吗

如何使用regex来实现这一点?你知道吗


Tags: toin程序数量模式制表符howpattern
2条回答

在您链接的示例中,开始和结束处的斜杠是模式的一部分,因此它们与答案的regex部分无关。你知道吗

如果我理解你的问题,pattern将始终是连续的。在这种情况下,不管后面有多少空格,你总能找到它。如果要确保在捕获空白时找到pattern,请使用

import re
lines = 'hello\nhello     \n'
pattern = 'hello'
results = re.findall(pattern + r'\s*\n', lines)
print(results)
>>> ['hello\n', 'hello     \n']

如果您不关心空格,只需搜索pattern。你知道吗

是的,有区别。大多数正则表达式引擎都有可以指定的标志来搜索空格或换行符。例如,在python中匹配空白重新匹配(r'\s',yourVar)'\s'匹配空格。您所指的两个斜杠“//”,在许多语言中用于表示正则表达式。e、 g./\s/您的表达式介于两者之间。你知道吗

希望这有帮助

相关问题 更多 >