パターンに一致する文字が 1 行に 2 つ以上ある場合、その行を 1 回だけ印刷することはできますか?
例えば:
Matcher matcher = Pattern.compile(("V+N+PN+")).matcher(line);
while (matcher.find()) {
System.out.println(matcher);
System.out.println(line);
}
出力:
java.util.regex.Matcher[pattern=V+N+PN+ region=0,34 lastmatch=VVNNNNNNNNNPNNNN]
NVNVVNNNNNNVVNNNNNNNNNPNNNNPNNONNN
java.util.regex.Matcher[pattern=V+N+PN+ region=0,42 lastmatch=VVNPNNN]
OSNVVNPNNNVNVNNVVNNPNNNNNNNNPVNNNPNNNPNNNO
java.util.regex.Matcher[pattern=V+N+PN+ region=0,42 lastmatch=VVNNPNNNNNNNN]
OSNVVNPNNNVNVNNVVNNPNNNNNNNNPVNNNPNNNPNNNO
java.util.regex.Matcher[pattern=V+N+PN+ region=0,42 lastmatch=VNNNPNNN]
OSNVVNPNNNVNVNNVVNNPNNNNNNNNPVNNNPNNNPNNNO
java.util.regex.Matcher[pattern=V+N+PN+ region=0,5 lastmatch=VNPN]
NVNPN
java.util.regex.Matcher[pattern=V+N+PN+ region=0,38 lastmatch=VNNPNNN]
NNNNVPNNNNVNNPNNNVVPNNPNNVVPNVVNVVPNNO
java.util.regex.Matcher[pattern=V+N+PN+ region=0,36 lastmatch=VNPNN]
SNVNPNNVNNNONVNNVVVPNNVVVVPNNPNNNNNN
java.util.regex.Matcher[pattern=V+N+PN+ region=0,9 lastmatch=VVVNPN]
NNVVVNPNO
実際、私が望むのは、行ごとにパターンに一致するものが複数ある場合でも、出力に行が1回だけ表示されることです。