如何解決此Java正則表達式問題?正則表達式:如何捕獲這個? (重複組內的嵌套組)
輸入:
some heading text... ["fds afsa","fwr23423","42df f","1a_4([email protected]#","3240acg!g"] some trailing text....
問題:我想捕捉雙引號之間的一切。 (實施例:FDS AFSA,fwr23423等)
我曾嘗試以下模式:
\[(?:"([^"]+)",?)+\]
但是執行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
嗯,好的,那裏是另一種方式,但我認爲這不是一件好事。我已將它添加到我的答案中。 –