Python 正则表达式匹配包含换行的两个字符串
使用 Python 正则表达式匹配两个字符之间含有换行符的第二个字符串,可以使用 re.DOTALL 标志,使 '.' 元字符匹配任何字符,包括换行符。然后使用括号捕获第一个字符串,并在正则表达式中使用反向引用来匹配第二个字符串。
示例代码:
import re
text = 'abc
123
def'
pattern = r'(abc
.*?
)(def)'
match = re.search(pattern, text, re.DOTALL)
if match:
print(match.group(1)) # 输出第一个字符串:abc\n123\n
print(match.group(2)) # 输出第二个字符串:def
解释:
'abc\n':匹配第一个字符串的开头;.*?:匹配任意字符,包括换行符,非贪婪模式;\n:匹配第一个字符串的结尾,同时也是第二个字符串的开头;(abc\n.*?\n):使用括号捕获第一个字符串;(def):匹配第二个字符串。
原文地址: https://www.cveoy.top/t/topic/m4gd 著作权归作者所有。请勿转载和采集!