0
4

2 に答える 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 に答える