Java -使用Regex从数据集中提取子字符串

rm5edbpk  于 2023-06-25  发布在  Java
关注(0)|答案(1)|浏览(132)

给定以下数据集,我试图找到一种使用Regex提取城市名称的方法。
波士顿(马萨诸塞州)、纽约市(纽约州、康涅狄格州、新泽西州)
纽约市(NY,CT,NJ),费城(PA,NJ)
Indianapolis(IN),St. Louis(MO,IL)
圣路易斯(MO,IL),堪萨斯城(MO,KS)
我希望Regex的输出是:
纽约市波士顿
纽约市费城
印第安纳波利斯路易
堪萨斯城
我尝试基于两个标准进行模式匹配:
(\\w+\\w(?=.())) | (\\w+\\W\\h\\w+(?=.()))
1.由[a-zA-Z]+字母组成的城市,如波士顿或费城
1.由附加字符组成的一个单词,如句点/附加空格。
该表达式与第一种情况精确匹配。但是,对于第二种情况,它只匹配St. Louis的第一次出现。
我还尝试了以下方法:
(\\w+ ?\\w(?=.())) | (\\w+\\h\\w+\\h\\w+(?=\\s.()))| (\\w+\\h\\w+(?=\\s.()))
1.第一个例子涵盖了上面列出的相同情况-由一个词的城市组成。
1.第三种方法设法涵盖了New York City的情况,然而,就像第一种方法一样,未能识别出随后相同模式的情况。
1.和最后一个模式中使用的情况相同,匹配St. Louis失败匹配,匹配Kansas City

gwbalxhn

gwbalxhn1#

这可以是.Net的用户

(((?<=\())\w{2})|(\w{2}(?=\)))|(\w{2}(?=,))

相关问题