私はアンドロイドアプリで正規表現で名前を検証しようとしています。名前のための正規表現を作成するには文字だけで " - " i java?
したがって、私のルールは次のとおりです。 (A-ö、A-Ö)、およびハイフンは1つだけです。
これは名前を確認するために最高のアイデアであることはない...
私はアンドロイドアプリで正規表現で名前を検証しようとしています。名前のための正規表現を作成するには文字だけで " - " i java?
したがって、私のルールは次のとおりです。 (A-ö、A-Ö)、およびハイフンは1つだけです。
これは名前を確認するために最高のアイデアであることはない...
を私が試してみましたが、REG式言語は、私の頭痛を与えます。しかし、その後、あなたは次の例を使用することができ、あなたの要件を解決してきたと仮定すると:
if(input.matches("[a-zA-Z]+(\\-[a-zA-Z]+)?")) {
//OK
} else {
//Invalid
}
いくつかの例を私はthis pageを使用してテストしてみた:
String matches?
qwe Yes
qwe- No
qwe-qwe Yes
qwe-qwe- No
qw2e-qwe2 No
qwe-qwe-qwe No
http://developer.android.com/reference/java/util/regex/Pattern.htmlはあなたに基礎を提供します。特に
:
[[a-f][0-9]]
はあなたが行うOR演算ができることを示します。[d-f]
ASCIIを選択することができます示してはそれもわかりますの範囲:
ほとんどの時間を、内蔵の文字クラスは
より有用であり、説明します\w
および\W
セレクタ。 \w
は下線と数字を受け入れます。
[[A-Z][a-z]-]+
が有効です。プラスはあなたが少なくとも1人のキャラクターを得ることを保証するためですが、もしあなたが - と呼ばれるユーザーを持っていれば、それは素晴らしいイホです。
EDIT:
アプリの名前を追加したい場合は、私もそれを購入しないように注意してくださいと思います。このような怠惰は私がインストールしたくないアプリにしかつながりません。
ここで項目41を読む:http://stackoverflow.com/questions/6162484/why-does-modern-perl-avoid-utf-8-by-default/6163129#6163129 – NullUserException
[ this](http://www.regular-expressions.info/tutorial.html)正規表現のウェブサイトですが、それはかなりうまく説明されています。 – Jeffrey
@ NullUserException:それはPerlではなく、Javaです。しかし、これは彼が求めている簡単な正規表現です... – Kheldar