给定以下数据集,我试图找到一种使用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
。
1条答案
按热度按时间gwbalxhn1#
这可以是.Net的用户