1

次の例では:

class ZiggyTest2{  
        public static void main(String[] args){  

            Pattern p = Pattern.compile("Water water WATER everywhere");
            Matcher m = p.matcher("water");

            while(m.find()){
                System.out.println(m.start() + " " + m.group());
            }

            System.out.println("[Done]");
        }    
    }  

m.find() メソッドは常に false であるため、文字列「water」は見つかりません。これの理由は何ですか?

4

1 に答える 1

2

文字列を反転しました:

  • Pattern正規表現をコンパイルし、
  • Matcher入力に適用されます。

あなたが持っている必要があります:

        Pattern p = Pattern.compile("water");
        Matcher m = p.matcher("Water water WATER everywhere");

また、大文字と小文字を区別しない一致が必要な場合は、次のいずれかでパターンを初期化する必要があることに注意してください。

        Pattern p = Pattern.compile("water", Pattern.CASE_INSENSITIVE);
        // or:
        Pattern p = Pattern.compile("(?i)water");
于 2011-12-25T17:36:27.220 に答える