因此,我一直试图在regex( editpadpro )中匹配,我只想匹配POLYLINE、TYPE=0x6、RoadID,editpadpro风味= Perl、Java、.NET,非常感谢您的任何帮助。
[POLYLINE]
Type=0x6
Label=Lorong Karyawan 18
EndLevel=1
CountryName=MALAYSIA~[0x1d]MYS
RegionName=PAHANG~[0x1d]PHG
CityName=KUANTAN
Zip=25150
RoadID=1154
RouteParam=2,1,0,0,0,0,0,0,0,0,0,0
Data0=(3.77022,103.27289),(3.76988,103.27201)
Nod1=0,283024,0
Nod2=1,282992,0
Numbers1=0,O,55,41,N,-1,-1
[END]到目前为止,我已经使用了与polyline和Type=0x6匹配的这个Type=0x6。
发布于 2020-08-30 09:57:25
您可以使用三个捕获组,从捕获[POLYLINE]开始。
对于其他两个捕获组,您可以匹配不以Type或RoadID开头的所有行,然后使用负前瞻性捕获行。
(\[POLYLINE\])(?:\r?\n(?!Type).*)*\r?\n(Type=.+)(?:\r?\n(?!RoadID).*)*\r?\n(RoadID=.+)解释
(\[POLYLINE\]) Group 1 match [POLYLINE](?:\r?\n(?!Type).*)*\r?\n重复匹配所有不以类型开头的行(Type=.+) Group 2 Match Type=,后面是1+时间(?:\r?\n(?!RoadID).*)*\r?\n重复匹配所有不以RoadID开头的行(RoadID=.+) Group 3 match RoadID=,后面是1+时间https://stackoverflow.com/questions/63655851
复制相似问题