我正在尝试匹配两行之间的正则表达式。例如,如果有一段这样的文本:
\\[-16pt]
x = 5
print(x)
\\
\thinhline
我会尝试匹配第一行和最后两行之间的所有内容。但是,由于该段以 2 行结束 (\\\n\thinhline
),因此我无法找到搜索多行的模式。这是我所拥有的,但它不起作用:
content = replace_section(r'\\\\[-16pt]',r'\\\\\n\thinhline', content)
我该如何解决这个问题?任何帮助将不胜感激,谢谢。
(?<=\\\\\[-16pt]\n)([\s\S]*?)(?=\\\\\n\\thinhline)
试试这个。使用 re.findall
。查看演示。
https://regex101.com/r/vN3sH3/76
import re
p = re.compile(r'(?<=\\\\\[-16pt]\n)([\s\S]*?)(?=\\\\\n\\thinhline)')
test_str = "\\[-16pt]\nx = 5\nprint(x) \n\\\n\thinhline"
re.findall(p, test_str)
我是一名优秀的程序员,十分优秀!