0

私のAndroidアプリでは、アドレスを含む編集テキストをコントロールする必要があります.

今のところ私のコントロールは次のとおりです。

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

しかし、制御する他のキャラクターも追加する必要があります。

そのような:\ . n ° ,

正規表現を変更するにはどうすればよいですか?

4

2 に答える 2

2

次のようなものを使用することを検討してください[\sa-zA-Z0-9\\\.n°/]*

そうは言っても、その特定の正規表現は空のフィールドにも一致します。これが必要ない場合は、*(の 0 回以上の繰り返しに+一致) を (1 回以上の繰り返しに一致) に置き換えるだけです。

\エスケープする必要がある特殊文字であるため、その前に余分な文字があります\.もエスケープする必要がある特殊文字です。

したがって、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 に答える