正则表达式需求:匹配指定单词前第2个换行符到保单号后内容
正则匹配解决方案
- 核心思路:先锚定
\n Policy value前的第2个换行符位置,再精准匹配到保单号1234-56789后的换行符之间的内容 - 适用正则表达式(需开启DOTALL模式,让
.能匹配换行符):
若字符串中的换行符为(?:.*\n){2}(?=.*\n Policy value).*?1234-56789\n\r\n,则调整为:(?:.*\r\n){2}(?=.*\r\n Policy value).*?1234-56789\r\n
规则解释
(?:.*\n){2}:匹配任意内容加换行的组合2次,对应目标起始点(\n Policy value前的第2个换行符)(?=.*\n Policy value):正向预查,确保后续存在\n Policy value,避免起始位置误匹配.*?:非贪婪匹配任意内容,防止过度匹配到无关区域1234-56789\n:匹配保单号及其后的换行符,作为结束锚点
使用提示
- 如用Python实现,编译正则时需添加
re.DOTALL参数;Java则启用Pattern.DOTALL标志
内容的提问来源于stack exchange,提问作者Anthony
相关产品推荐
相关产品推荐

