添付のコードで、String toParse = "love love koo lovelovekoo";を変更しようとしています。出力を取得します
結果の愛の愛結果の愛の愛
しかし、私が使用しているパターン
愛[^koo]*
出力結果が表示されます
結果の愛l結果の愛l
つまり、「k」または「o」の最初の出現でその分割が行われますが、私の意図は、「koo」の最初の出現で分割する必要があるため、目的の結果が得られます。要するに、私の意図は、「koo」が最初に出現するまで見つかるパターンを作成することです。
Javaコードも添付しました。
public static void main(String[] args) {
// regular expression here
Pattern pattern = Pattern.compile("love[^koo]*");
// String here
String toParse = "love love koo love love koo";
Matcher matcher = pattern.matcher(toParse);
boolean found = false;
while (matcher.find()) {
System.out.println("Result "
+ toParse.substring(matcher.start(), matcher.end()));
found = true;
}
if (!found) {
// console.format("No match found.%n");
System.out.println("No match found");
}
}