2024-03-28 11:35:58 发布
网友
我正在尝试处理一个文本文件,并使用正则表达式识别某些模式。我希望我的程序能够识别以下模式:
Pattern\n Pattern \n Pattern \n
等,我想能够识别的模式与任何数量的空格或制表符(有区别吗?)在“模式”和回车之间。你知道吗
我看过 How to ignore whitespace in a regular expression subject string?但我不明白为什么表达式的前后都有斜杠。你知道吗
如何使用regex来实现这一点?你知道吗
在您链接的示例中,开始和结束处的斜杠是模式的一部分,因此它们与答案的regex部分无关。你知道吗
如果我理解你的问题,pattern将始终是连续的。在这种情况下,不管后面有多少空格,你总能找到它。如果要确保在捕获空白时找到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/您的表达式介于两者之间。你知道吗
希望这有帮助
在您链接的示例中,开始和结束处的斜杠是模式的一部分,因此它们与答案的regex部分无关。你知道吗
如果我理解你的问题,
pattern
将始终是连续的。在这种情况下,不管后面有多少空格,你总能找到它。如果要确保在捕获空白时找到pattern
,请使用如果您不关心空格,只需搜索
pattern
。你知道吗是的,有区别。大多数正则表达式引擎都有可以指定的标志来搜索空格或换行符。例如,在python中匹配空白重新匹配(r'\s',yourVar)'\s'匹配空格。您所指的两个斜杠“//”,在许多语言中用于表示正则表达式。e、 g./\s/您的表达式介于两者之间。你知道吗
希望这有帮助
相关问题 更多 >
编程相关推荐