求助:使用Regex提取指定分隔符间的目标文本
提取固定分隔符间文本的正则解决方案
要提取位于固定起始分隔符 3.1 Finding 1 Risco: 和结束分隔符 Recomendação 之间的文本,你可以使用以下正则表达式:
(?<=3\.1 Finding 1 Risco:).*?(?=Recomendação)
正则规则解析
(?<=3\.1 Finding 1 Risco:):正向后行断言,确保目标文本的前缀是精确的起始分隔符。这里对.进行转义,因为它在正则中是匹配任意字符的特殊符号,转义后才能匹配原始的点号。.*?:非贪婪匹配模式,匹配任意字符(若目标文本包含换行,需启用DOTALL模式,让.能覆盖换行符),直到遇到第一个结束分隔符就停止。非贪婪模式可以避免误匹配到后续重复出现的结束分隔符。(?=Recomendação):正向先行断言,确保目标文本的后缀是精确的结束分隔符。
使用提示
如果待提取的文本跨越多行,记得在正则引擎中开启 DOTALL 模式(比如在常用的正则测试工具中勾选 s 选项),这样.就能匹配换行符,保证跨多行的内容也能被完整提取。
内容的提问来源于stack exchange,提问作者blucah
相关产品推荐
相关产品推荐

