※ ChatGPTを利用し、要約された質問です(原文:正規表現について)
正規表現について
このQ&Aのポイント
正規表現のチェックで禁止文字を含まないと表示される問題について
正規表現で禁止文字をチェックする際に問題が発生している
正規表現を使用して文字列をチェックする際に禁止文字の判定が正しく行われていない
現在下記のように文字列をチェックする正規表現を作成したのですが、
「禁止文字を含まない」と表示されてしまいます。
どこが問題なのか、指摘していただければと思います。
よろしくお願いします
----------------------------------------------------
// チェックする文字列
String str = "abc\";
// 禁止文字
String regex = "\\/:;\\*?'\"<>\\|~\\\\"
+ "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨワヲンァィゥェォッャュョ゛゜ー、。「」・"
+ "(1)(2)(3)(4)(5)(6)(7)(8)(10)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)"
+ "IIIIIIIVVVIVIIVIIIIXXiiiiiiivvviviiviiiixx"
+ "ミリキロセンチメートルグラムトンアールヘクタールリットルワットカロリードルセントパーセントミリバールページmmcmkmmgkgccm2"
+ "〝〟No.K.K.TEL(上)(中)(下)(左)(右)(株)(有)(代)明治大正昭和平成∮∑∟⊿";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
//
if (m.find()){
out.println("禁止文字を含む");
}else{
out.println("禁止文字を含まない");
}
お礼
回答ありがとうございます そうでした、完全に見落としていました []を追加したら予定どうりの動きになりました ありがとうございました