7
重複するかどうかにかかわらず、式のすべてのインスタンスを取得する正規表現はありますか?重複している正規表現を返す
など。 /
で始まるすべての文字列をキャプチャしたい場合は/abc/def/ghi
にしてください。正規表現(/.*)
は文字列全体を返すだけですが、/def/ghi
と/ghi
にも一致させたいと思います。
重複するかどうかにかかわらず、式のすべてのインスタンスを取得する正規表現はありますか?重複している正規表現を返す
など。 /
で始まるすべての文字列をキャプチャしたい場合は/abc/def/ghi
にしてください。正規表現(/.*)
は文字列全体を返すだけですが、/def/ghi
と/ghi
にも一致させたいと思います。
確かに、空の文字列にマッチし、それがそのキャプチャグループに/.*
をキャプチャした後、先読みを置く:
Matcher m = Pattern.compile("(?=(/.*))").matcher("/abc/def/ghi");
while(m.find()) {
System.out.println(m.group(1));
}
を印刷します:
/abc/def/ghi
/def/ghi
/ghi
興味深い主題を。ちょうど '/ abc'、'/def'と '/ ghi'とのマッチングはあなたが探しているものではありませんか? – Arjan
@Arjanいいえ、そうではありません。それは簡単すぎるだろう! –
私は[1] '(=(/.*)?)'トリックは、[重複が一致する]も参照のないこと[1] を見つける:http://stackoverflow.com/q/320448/ 653295 – mousio