- ベストアンサー
正規表現で、あるパターンの文字列をすべて抜き出したい。
例えば、 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しか抜き出せないようです…。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
//■があるところが変更した行 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)
- himajin100000
- ベストアンサー率54% (1660/3060)
回答No.2
あまり検証してないけど aacc みたいなパターンが質問者の意図通りの挙動かを確認してくれ。>質問者さん。