我正在尝试从包含数字和街道的多个示例中提取街道名称
我已经尝试过^\d+(-\d+|\w)? ([EWNS] )?
,但这没有通过第二个测试用例。
我需要这些测试用例通过
2 Main Street -> 'Main Street'
5 & 6 Shore Lane -> 'Shore Lane'
7/8 Bay Way -> 'Bay Way'
73-97 Park Dr E -> 'Park Dr E'
2781 Boyle Street -> 'Boyle Street'
267 1/2 Brad St -> 'Brad St'
433 W. 49th St. -> 'W 49th St'
答案 0 :(得分:0)
一个选项可能是将开头的数字与可选空格和一个字符类匹配,这些字符类将匹配&
或/
或-
并在捕获组中捕获地址:
\A\d+(?: ?[&\/-] ?\d+)? (\w+(?: \w+)*)
这将匹配
\A
字符串的开头\d+
匹配1个以上的数字(?:
?[&\/-] ?\d+
匹配&
或/
或-
的可选空格,可选空格和1个以上的数字)?
关闭组并将其设置为可选(
匹配空间并开始捕获组
\w+(?: \w+)*
匹配1+个单词字符,并重复0+次空格和1+个单词字符)
关闭捕获组答案 1 :(得分:0)
这应该可以完成:\d\s(\D+)$
您可以在此处看到此操作:https://rubular.com/r/tcbE7nhNkSQDyS
基本上,我们通过定义要查找的字符串的规则来仅选择所需的字符。即,可能包含非数字字符(\D+
)的字符串,该字符串在行结束时($
)结束,并以数字开头,后跟空格(\d\s
)。