在我的 android 应用程序中,我必须对包含地址的编辑文本进行控制,
现在我的控制是:
Indirizzo.toString().matches("[\\sa-zA-Z0-9]*")
但我还必须添加其他字符来控制,
如:\ . n ° ,
如何更改正则表达式?
在我的 android 应用程序中,我必须对包含地址的编辑文本进行控制,
现在我的控制是:
Indirizzo.toString().matches("[\\sa-zA-Z0-9]*")
但我还必须添加其他字符来控制,
如:\ . n ° ,
如何更改正则表达式?
您可能会考虑使用类似这样的东西:[\sa-zA-Z0-9\\\.n°/]*
.
话虽如此,那个特定的正则表达式也将匹配一个空字段。如果您不想这样做,只需将*
(matches 0 or more repeats of) 替换为+
(matches one or more repeats of)。
The\
是一个特殊字符,需要转义,因此\
它前面有额外的字符。the.
也是一个特殊字符,也需要转义。
因此,在 Java 中,您需要使用如下内容:[\\sa-zA-Z0-9\\\\\.n°/]*
您可以使用以下字符类使正则表达式接受所有 ASCII 字符:
[\x00-\x7F]
或者,如果您只想匹配那些特定的字符,也就是说\ . n ° ,
,只需将它们添加到字符类中:
[\\sa-zA-Z0-9\.n°,]*
此外,您应该使用+
而不是*
消除零字符匹配。