在我的Android應用程序,我必須做出一個包含地址的編輯文本的控制,Android的正則表達式匹配的地址
現在我的控制是:
Indirizzo.toString().matches("[\\sa-zA-Z0-9]*")
但我也必須添加其它字符控制,
如:\ . n ° ,
我怎樣才能改變正則表達式?
在我的Android應用程序,我必須做出一個包含地址的編輯文本的控制,Android的正則表達式匹配的地址
現在我的控制是:
Indirizzo.toString().matches("[\\sa-zA-Z0-9]*")
但我也必須添加其它字符控制,
如:\ . n ° ,
我怎樣才能改變正則表達式?
你可能會考慮使用類似這樣的東西:[\sa-zA-Z0-9\\\.n°/]*
。
這就是說,那個特定的正則表達式也將匹配一個空的字段。如果你不想要這個,只需用+
(匹配一個或多個重複)替換*
(匹配0或更多的重複)。
\
是一個特殊字符,它需要被轉義,因此額外的\
它的前面。 .
也是一個特殊字符,也需要逃脫。
所以,在Java中,你需要使用像這樣:[\\sa-zA-Z0-9\\\\\.n°/]*
可以使正則表達式接受使用下列字符類所有的ASCII字符:
[\x00-\x7F]
或者,如果您倒是想只匹配那些特定的字符,也就是\ . n ° ,
,只需將它們添加到字符類:
另外,您應該使用+
而不是*
來消除零字符匹配。
非常感謝你, 一個「最後一件事: 如果我想插入字符/ 例如:通過艾米利亞,N°3/2 – Garumbo
@Garumbo:我已經更新了我的答案:) – npinti
謝謝又是你! :) – Garumbo