質問する
165 次
2 に答える
1
私の答えとして、あなたのものに似たより単純な正規表現を使用したいと思います: [A-Z[^!]]+
、つまり、「少なくとも1回: (AからZまでの文字)または(「!」ではない文字)。「「!」ではないこと
に注意してください。 "にはすでに A から Z までが含まれています。そのため、外側の文字 group( [A-Z...
) 内のすべてが無意味です。
フラグ[\p{Alpha}'-.]+
を使用して正規表現をコンパイルしてみてください。Pattern.UNICODE_CHARACTER_CLASS
于 2012-10-31T13:31:48.530 に答える
0
使用:(?=。* [@#$%&\ s])-(セットからの)少なくとも1つの特殊文字の場合、およびユーザー名にスペースが含まれている場合もtrueを返します。
要件に応じて、さらに特殊文字を追加できます。例えば:
String str = "k$shor";
String regex = "(?=.*[@#$%&\\s])";
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
System.out.println(matcher.find()); => gives true
于 2012-10-31T14:07:07.920 に答える