私のAndroidアプリでは、アドレスを含む編集テキストをコントロールする必要があります.
今のところ私のコントロールは次のとおりです。
Indirizzo.toString().matches("[\\sa-zA-Z0-9]*")
しかし、制御する他のキャラクターも追加する必要があります。
そのような:\ . n ° ,
正規表現を変更するにはどうすればよいですか?
私のAndroidアプリでは、アドレスを含む編集テキストをコントロールする必要があります.
今のところ私のコントロールは次のとおりです。
Indirizzo.toString().matches("[\\sa-zA-Z0-9]*")
しかし、制御する他のキャラクターも追加する必要があります。
そのような:\ . n ° ,
正規表現を変更するにはどうすればよいですか?
次のようなものを使用することを検討してください[\sa-zA-Z0-9\\\.n°/]*
。
そうは言っても、その特定の正規表現は空のフィールドにも一致します。これが必要ない場合は、*
(の 0 回以上の繰り返しに+
一致) を (1 回以上の繰り返しに一致) に置き換えるだけです。
は\
エスケープする必要がある特殊文字であるため、その前に余分な文字があります\
。.
もエスケープする必要がある特殊文字です。
したがって、Java では、次のようなものを使用する必要があります。[\\sa-zA-Z0-9\\\\\.n°/]*
次の文字クラスを使用して、正規表現ですべての ASCII 文字を受け入れるようにすることができます。
[\x00-\x7F]
または、これらの特定の文字のみを一致させたい場合、つまり を\ . n ° ,
文字クラスに追加するだけです。
[\\sa-zA-Z0-9\.n°,]*
また、ゼロ文字の一致を排除するの+
ではなく、使用する必要があります。*