0

.および以外の「特殊」文字を含む任意の文字列に正規表現を一致させたい/。他の特殊文字は一種のブラックリストにあります。ただし、実行時にIllegal repetitionエラーが発生します。どうすれば解決できますか?

Pattern regex = Pattern.compile("!@#$%^&*()-_+=|\\}]{[\"':;?><,");
Matcher matcher = regex.matcher(key);
if (matcher.find()) {
    return false;
}
4

1 に答える 1

1

おそらく、拒否されるものではなく、許可されるものを指定する方がよいでしょう:

Pattern regex = Pattern.compile ("^[\\w\\s\\./]*$");
if (!regex.matcher(key).matches ()) return false;

これは、文字、数字、空白、ドット ('.')、およびスラッシュ ('/') のみを許可します。

于 2013-03-05T05:55:08.057 に答える