の間に含まれる文字列を検索するには、[[STを:それは]で終わる]正規表現は、このテキストでセパレータ
私のプログラムが出力します:
aaa bbb ccc ddd eee fff (first match) ggg hhh iii jjj kkk \n lll mmm nnn(second match)
しかし、私は最初の[[st:そして最後の]]を返すことしかできないので、2つではなく1つのマッチがあります。何か案は?
はここに私のコードです:
package com.s2i.egc.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestRegex {
/**
* @param args
*/
public static void main(String[] args) {
String bodyText = "text text text [[st: aaa bbb ccc ddd eee fff]] text text text text [[st: ggg hhh iii jjj kkk\n lll mmm nnn]] text text text";
String currentPattern = "\\[\\[st:.*\\]\\]";
Pattern myPattern = Pattern.compile(currentPattern, Pattern.DOTALL);
Matcher myMatcher = myPattern.matcher(bodyText);
int i = 1;
while (myMatcher.find()) {
String match = bodyText.substring(myMatcher.start() + 5, myMatcher.end() - 3);
System.out.println(match + " (match #" + i + ")");
i++;
}
}
}
ありがとう!出来た! :) – mrmuggles