匹配 Street 123 格式地址的正则表达式
Regex to match addresses of Street 123 format
希腊的街道格式为 Street 123,我需要一个 Java 正则表达式来匹配它。我想出的正则表达式对我来说看起来是正确的,但它不起作用,而且我并不是真正的正则表达式专家。有人建议 Java 的正则表达式可能与 Java 脚本不同,我也不是他们的专家,所以有人可以帮忙吗?我只需要一个词,然后是 1 个空格,然后是一个 3 位数字(最大)。所以例如它应该匹配
- 123 号街道
- 街道 1
- 12 号街道
但不匹配 Street123
、Street1234
、Street 1234
这是我的正则表达式:
ADDRESS_REGEX = "[A-Za-z]+\s[0-9]{3}+";
匹配1-3位数字和单个space:
\b[A-Za-z]+\h\d{1,3}\b
\b
一个单词边界
[A-Za-z]+
匹配 1+ 个字符 A-Za-z
\h
匹配一个水平的白色space字符
\d{1,3}
匹配1-3位数字
\b
一个单词边界
看到一个regex demo
在Java
String regex = "\b[A-Za-z]+\h\d{1,3}\b";
这个版本是正确的:
^[A-Za-z]+\s[0-9]{1,3}$
UPD:有时使用 \h
而不是 \s
更好(因为 \s
也与换行符匹配)
^[A-Za-z]+\h[0-9]{1,3}$
所以更正确。
希腊的街道格式为 Street 123,我需要一个 Java 正则表达式来匹配它。我想出的正则表达式对我来说看起来是正确的,但它不起作用,而且我并不是真正的正则表达式专家。有人建议 Java 的正则表达式可能与 Java 脚本不同,我也不是他们的专家,所以有人可以帮忙吗?我只需要一个词,然后是 1 个空格,然后是一个 3 位数字(最大)。所以例如它应该匹配
- 123 号街道
- 街道 1
- 12 号街道
但不匹配 Street123
、Street1234
、Street 1234
这是我的正则表达式:
ADDRESS_REGEX = "[A-Za-z]+\s[0-9]{3}+";
匹配1-3位数字和单个space:
\b[A-Za-z]+\h\d{1,3}\b
\b
一个单词边界[A-Za-z]+
匹配 1+ 个字符 A-Za-z\h
匹配一个水平的白色space字符\d{1,3}
匹配1-3位数字\b
一个单词边界
看到一个regex demo
在Java
String regex = "\b[A-Za-z]+\h\d{1,3}\b";
这个版本是正确的:
^[A-Za-z]+\s[0-9]{1,3}$
UPD:有时使用 \h
而不是 \s
更好(因为 \s
也与换行符匹配)
^[A-Za-z]+\h[0-9]{1,3}$
所以