このJava正規表現の問題をどのように解決できますか?正規表現:これをキャプチャする方法? (繰り返しグループ内のネストされたグループ)
入力:
some heading text... ["fds afsa","fwr23423","42df f","1a_4([email protected]#","3240acg!g"] some trailing text....
問題:私は、二重引用符の間のすべてをキャプチャしたいと思います。 (例:AFSA FDS、fwr23423、等)
Iは次のパターン試みた:
\[(?:"([^"]+)",?)+\]
をしかし、()Matcher.findを行う場合、それはにStackOverflowErrorになり、使用時より大きい入力(ただし、小さな入力の場合は動作しますが、これはJavaのバグです)。そしてそれがうまくいっても、matcher.group(1)は "3240acg!g"しか与えません。
どうすればこの問題を解決できますか? (または、複数のパターンを使用する必要があります。最初のパターンは角かっこを取り除きます)
複数のパターン/マッチが必要です。私は何か似たものを見つけました:http://answers.oreilly.com/topic/222-how-to-find-a-match-within-another-match-in-a-regular-expression/ – Devabc
別の方法ですが、私はそれが良いものだとは思いません。私はそれを私の答えに加えました。 –