首页 > 解决方案 > 在 REGEX 中搜索多行的问题

问题描述

所以我一直在尝试用正则表达式匹配不同行中的不同字符串(目前使用editpadpro)

我的问题:- 我想匹配 (POLYLINE,Type,Road)而不匹配 POI 下的类型,考虑到 POLYLINE 和 POI 组,我只想匹配 POLYLINE 内的任何内容

例子 -

      POLYLINE
      Type=0x6
      Road=2231
     
      POI
      Type=0x64

标签: regex

解决方案


一种可能的解决方案是结合使用积极的前瞻积极的后瞻

(?<=POLYLINE\s)(?:\w+=\w+\s?)+(?=\s*[A-Z]+)?

使用这个正则表达式,你说:

  • \w+=\w+前面POLYLINE是大写字母(下一节)。

通过这种方式,您可以根据需要匹配每个部分

(?<=SECTIONNAME\s)(?:\w+=\w+\s?)+(?=\s*[A-Z]+)?

POLYLINE
Type=0x6
Road=2231
     
POI
Type=0x64

ANOTHER
Road=456

这里regex101 示例


推荐阅读