0

在我的 android 应用程序中,我必须对包含地址的编辑文本进行控制,

现在我的控制是:

Indirizzo.toString().matches("[\\sa-zA-Z0-9]*")

但我还必须添加其他字符来控制,

如:\ . n ° ,

如何更改正则表达式?

4

2 回答 2

2

您可能会考虑使用类似这样的东西:[\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°/]*

于 2013-08-02T08:32:46.223 回答
0

您可以使用以下字符类使正则表达式接受所有 ASCII 字符:

[\x00-\x7F]

或者,如果您只想匹配那些特定的字符,也就是说\ . n ° ,,只需将它们添加到字符类中:

[\\sa-zA-Z0-9\.n°,]*

此外,您应该使用+而不是*消除零字符匹配。

于 2013-08-02T08:34:43.667 回答