文字列の形式をチェックしたいと思います。私はこれを作る正規表現、カンマで区切られた文字
-"AZERTY"
-"AZERTY,REGULAR,AKILO"
が、私はよく分からない: 可能なフォーマットは、
String formatAttributes = "^[a-zA-Z0-9](,[a-zA-Z0-9])?*$";
それは正しいのか?ここで
文字列の形式をチェックしたいと思います。私はこれを作る正規表現、カンマで区切られた文字
-"AZERTY"
-"AZERTY,REGULAR,AKILO"
が、私はよく分からない: 可能なフォーマットは、
String formatAttributes = "^[a-zA-Z0-9](,[a-zA-Z0-9])?*$";
それは正しいのか?ここで
は続行する方法です:
Pattern pattern = Pattern.compile("\\w+(,\\w+)*");
System.out.println(pattern.matcher("AZERTY").matches());
System.out.println(pattern.matcher("AZERTY,REGULAR,AKILO").matches());
出力:
true
true
NB:[-Zaは-Z_0-9]ことを意味します\w
が単語文字であります最初の正規表現にアンダースコアが追加されました。必要がない場合は、正規表現は[a-zA-Z0-9]+(,[a-zA-Z0-9]+)*
npbrよろしくお願いします。 –
いくつかのもっともらしい解決策があります。 2つの例が一致するようにしたいと仮定します。AZERTY
とAZERTY,REGULAR,AKILO
ここで、文字は任意のa-z
です。
^([a-z0-9]+(?:,[a-z0-9]+,[a-z0-9]+)?)$
注:この式は、大文字小文字を区別しないフラグの使用を想定しています。
ライブデモ
ありがとうございます! :) – ZouIou
' "^ [-ZA-Z0-9] +([-ZA-Z0-9] +)* $";' –
の場合値は空でもよい'' ABC ,, XYZ "'、@PranavCBalanで正規表現の '+'を '*'に置き換えます。 'matches()'を使ってcheckすると、 '^'と '$'は不要です。 – Andreas
@アンドレアス彼は文字列フォーマット全体をチェックしたいので、 '^'と '$'が必要です。私が彼が '' ABC、XYZ "' –