javaでの正規表現の方法について質問です。
対象の文字列が4桁の数字の場合のみ、trueを返却したいです。
しかし、改行コード(\n)を文末に付与した場合、
正規表現が正しく行われず、trueを返却してしまいます。
改行コード(\n)を許容しないようにするには、正規表現をどのように記載すればよいでしょうか。
java
1public static void main(String[] args) { 2 // 検索する文字列を用意 3 String str = "4567\n"; 4 5 // 正規表現のパターンを作成 6 Pattern p = Pattern.compile("^[0-9]{4}$", Pattern.DOTALL); 7 Matcher m = p.matcher(str); 8 9 if (m.find()) { 10 System.out.println("改行なし"); 11 return true; 12 } else { 13 System.out.println("改行あり"); 14 return false; 15 } 16}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/01 14:08
2018/06/01 14:42
2018/06/02 01:42