括弧内の文字列を取得するにはどうすればよいですか?以下のコードを参照してください。括弧内のJava正規表現による文字列を取得する方法
String str = "C1<C2, C3<T1>>.C4<T2>.C5"
私はC1<C2, C3<T1>>
、C4<T2>
、およびC5
を取得する必要があります。
を参照してくださいコードIは
Pattern pat = Pattern.compile("(\\w+(<[^>]+>)?)(.\\w+(<[^>]+>)?)*");
Matcher mat = pat.matcher(str);
の下にしようとしたが、結果は、私はあなたのコードを参照2つの問題がある
C1<C2, C3<T1>
私は考えています*ネストされた角括弧の数を一定量に制限した場合、これは可能です。通常、これにパーサを使用します。 – markspace
あなたは '.'に分割したいと思うように私に聞こえます。何か不足していますか? – shmosel
@markspaceは正しいです。大括弧のネストを制限しない場合、これは正規表現では表現できません。 –