みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

例えば、
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しか抜き出せないようです…。
よろしくお願いします。

投稿日時 - 2009-07-24 19:48:11

QNo.5152443

すぐに回答ほしいです

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

//■があるところが変更した行

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());
}

投稿日時 - 2009-07-24 21:27:27

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

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

投稿日時 - 2009-07-25 10:18:27

あなたにオススメの質問