• ベストアンサー

正規表現で、あるパターンの文字列をすべて抜き出したい。

例えば、 String text = "abcsjfkakcfahcf"; とあった場合に a*c のパターンをすべて抜き出したいとします(abc,akc,ahc)。 そうした場合は、どのように書けばよいのでしょうか? Pattern pattern = Pattern.compile(".a.c."); Matcher matcher = pattern.matcher(text); if(matcher.find()){ System.out.println(matcher.group()); } ですと、akcしか抜き出せないようです…。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • atse
  • ベストアンサー率83% (36/43)
回答No.1

//■があるところが変更した行 String text = "abcsjfkakcfahcf"; Pattern pattern = Pattern.compile("a.c");//■a.cの両サイドのドットは必要ない Matcher matcher = pattern.matcher(text); while (matcher.find()) {//■全部書き出すためにwhile System.out.println(matcher.group()); }

その他の回答 (1)

回答No.2

あまり検証してないけど aacc みたいなパターンが質問者の意図通りの挙動かを確認してくれ。>質問者さん。