希臘街道的格式為 Street 123,我需要一個 Java 正則運算式來匹配它。我想出的正則運算式對我來說看起來是正確的,但它不起作用,而且我并不是真正的正則運算式專家。有人建議 Java 的正則運算式可能與 Javascript 不同,我也不是它們的專家,所以有人可以幫忙嗎?我只需要一個單詞,后跟 1 個空格,然后是 3 位數字(最大)。所以例如它應該匹配
- 街 123
- 街道 1
- 街 12
但不能匹配Street123,Street1234,Street 1234
這是我的正則運算式:
ADDRESS_REGEX = "[A-Za-z] \\s[0-9]{3} ";
uj5u.com熱心網友回復:
要匹配 1-3 位數字和一個空格:
\b[A-Za-z] \h\d{1,3}\b
\b一個詞的邊界[A-Za-z]匹配 1 個字符 A-Za-z\h匹配水平空白字符\d{1,3}匹配 1-3 位數字\b一個詞的邊界
查看正則運算式演示
在 Java 中
String regex = "\\b[A-Za-z] \\h\\d{1,3}\\b";
uj5u.com熱心網友回復:
這個版本是正確的:
^[A-Za-z] \\s[0-9]{1,3}$
uj5u.com熱心網友回復:
您的正則運算式很接近,但有一個小問題。使用這個版本:
[A-Za-z] \s [0-9]
Java代碼:
List<String> streets = Arrays.asList(new String[] {"Street 123", "Street123"});
for (String street : streets) {
if (street.matches("[A-Za-z] \\s [0-9] ")) {
System.out.println("MATCH: " street);
}
else {
System.out.println("NO MATCH: " street);
}
}
這列印:
MATCH: Street 123
NO MATCH: Street123
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/405581.html
標籤:
下一篇:正則運算式替換字串中的美元價格
