我想从法国提取地点。以下是一个示例:
1#Tunisia#TS#TS#34#9#TS;4#Virsac, Aquitaine, France#FR#FR97#45.0333#-0.45#-1477568;4#Gironde, Aquitaine, France#FR#FR97#44.584#-0.089244#-1429418它基本上是一个城市,它的地区和它的国家。因此,我这样做了:
^[2-5]#(.*?)#FR#结果是:
Gironde, Aquitaine, France这将正确提取城市/地区/国家,但只提取其中一个。可以提取多个条目吗?预期结果将是:
Virsac, Aquitaine, France
Gironde, Aquitaine, France提前谢谢你,
发布于 2021-09-25 08:53:40
在当前模式的基础上,需要用word边界构造替换^锚点(以确保2、3、4或5匹配为独立数字),并将.*?替换为[^#]*,以不允许匹配最右边的尾随分隔符模式。
也就是说,你可以用
\b[2-5]#([^#]*)#FR#见regex演示。详细信息
\b -一个单词边界[2-5] -从2到5的数字# -a # char([^#]*) -第1组:除#以外的零或多个字符#FR# -一个#FR#字符串。https://stackoverflow.com/questions/69324515
复制相似问题