可以使用re.DOTALL标志,使"."元字符匹配任何字符,包括换行符。然后使用括号捕获第一个字符串,并在正则表达式中使用反向引用来匹配第二个字符串。

示例代码:

import re

text = 'abc\n123\ndef'

pattern = r'(abc\n.*?\n)(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):匹配第二个字符串。
Python里用正则表达式匹配两个字符之间含有换行符如何匹配第二个字符串

原文地址: https://www.cveoy.top/t/topic/bz8S 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录