文字列があり、文字列から部分文字列を抽出するためには正規表現が必要でした。パイプ文字を含むテキストを抽出する正規表現
例:this is a|b|c|d whatever e|f|g|h
結果:次のようにa|b|c|d, e|f|g|h
は、しかし、私が書いたJavaコードに基づいて、それは結果を生産している:
Pattern ptyy = Pattern.compile("\\|*.+? ");
Matcher matcher_values = ptyy.matcher("this is a|b|c|d whatever e|f|g|h");
while (matcher_values.find()) {
String line = matcher_values.group(0);
System.out.println(line);
}
結果
this
is
a|b|c|d
whatever
結果は私が望んでいたものではありませんr。何かアドバイス?
お試しください['/[^\s|]+(?:\|[^\s|])+/g'](https://regex101.com/r/aL9bL4/1) –
一文字が欲しいですか?あるいは、 'foo | bar | baz | qux'はマッチしますか?また、常に正確に4項であるか、 'a | b | c'が一致する必要がありますか? – Bohemian
私はまた、foo | bar | baz | qux、foo2 | ba2r | baz | qux5と一致したいと思っています –