Regex与地址中的城市和州匹配

Regex与地址中的城市和州匹配,regex,Regex,我试图创建一个表达式来匹配地址中的城市和州名称,例如 100 Hall of Justice 1701 Farnam St. Omaha Nebraska 68183 United States 3208 Sheridan Ct. Lincoln Nebraska 68506 3710 S 192nd St Omaha Nebraska 68130 United States IL Court of Appeals 2nd District 55 Symphony Way Elgin

我试图创建一个表达式来匹配地址中的城市和州名称,例如

100 Hall of Justice
1701 Farnam St.
Omaha
Nebraska
68183  United States

3208 Sheridan Ct.
Lincoln
Nebraska
68506

3710 S 192nd St
Omaha
Nebraska
68130  United States

IL Court of Appeals 2nd District
55 Symphony Way
Elgin
Illinois
60120  United States
如您所见,城市和州的名称并不总是出现在地址中的同一位置(节点),但它们总是作为单个单词排列在整个地址之间的每一行


在这种情况下,我是否可以使用正则表达式只匹配城市和州名称,而不管它们出现在地址中的什么位置?

在最简单的情况下,以下正则表达式模式将给出预期的城市和州名称:


(\w+)\n(\w+)
-两个捕获组将分别匹配一个城市和一个州

根据@RomanPerekhrest的回答,现在它将匹配城市名称和州名称中的两个(或更多)单词


([a-zA-Z]+)\n([a-zA-Z]+)\n\d+(\s+美国)?\n?$

你试过什么吗?什么是regex味?嗨,阿努巴瓦-我不确定regex味。我对regex非常陌生,但我正在使用一些其他表达式。+(?=\s+[(]Phone[)])^.*\d+\s\w+\s\w.+我正在使用WinAutomation软件从网页中提取数据,我正在尝试
\w+/code>和
\w.+
,但它分别匹配地址中的每个单词和句子,我似乎无法使它仅与城市和州匹配在
多行
模式下尝试此正则表达式:
^([\w-]+)\n([\w-]+)
谢谢,但这不起作用。我还检查了WinAuto是否使用了.NET风格的正则表达式。这会改变什么吗
(\w+)\n(\w+)\n\d+(\s+United States)?\n?$