我正在尝试使用正则表达式执行以下操作...
到目前为止我有这个http://regex101.com/r/yW1pV8 ...
.*[a-zA-Z]{2,}+.*
Run Code Online (Sandbox Code Playgroud)
这似乎符合我的标准,除了它不会阻止我放入其他字符,如$ _!等等...
一些正确的测试数据是......
579 International Road
International Road
Run Code Online (Sandbox Code Playgroud)
一些不正确的数据是......
679
3
$£
A
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
.*匹配任何东西,这似乎不是你想要的。此外,您不需要+, 因为X{n,}已经意味着X 至少 n几次。最后,你忘记了那0-9部分。所以看起来像这样:
[a-zA-Z0-9]{2,}
Run Code Online (Sandbox Code Playgroud)
一些正则表达式风格具有[a-zA-Z0-9]预定义的字符类。例如,在 Java 中它是\p{Alnum}.
如果您还想允许空格(根据您的测试数据),请使用\s:
(?:\s*[a-zA-Z0-9]{2,}\s*)*
Run Code Online (Sandbox Code Playgroud)