正则表达式如何在首次出现INTERESSADO时终止匹配
正则匹配问题修复方案
问题根因
你当前使用的正则中+为贪婪匹配符,会尽可能多的匹配字符,直到找到最后一处符合\w+ interessado的位置才停止,所以会匹配到最后一次出现的INTERESSADO。
修复方法
将正则中的贪婪匹配改为非贪婪匹配,同时开启不区分大小写的匹配模式适配文本中的大写关键词即可。
修正后正则
\nreclamado: (?P<cpf_cnpj_content>[\p{L}\s\d\D]+?\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2})\n.*?interessado
改动说明
- 在所有
+量词后添加?转为非贪婪模式,匹配到第一个符合要求的内容就停止 - 正则使用时需要开启不区分大小写标志:Python中传入
re.IGNORECASE参数,JavaScript中正则末尾加/i,其他语言对应开启不区分大小写配置即可。
内容的提问来源于stack exchange,提问作者Daniel Bailo
相关产品推荐
相关产品推荐

