Регулярное выражение: Как это записать? (вложенная группа внутри повторяющейся группы)

Как я могу решить эту проблему с регулярным выражением Java?

Ввод:

текст заголовка ... ["fds afsa", "fwr23423", "42df f", "1a_4 (211) @ # "," 3240acg! G "] завершающий текст ....

Проблема: я хотел бы записать все, что находится между двойными кавычками. (Пример: fds afsa, fwr23423 и т. Д.)

Я пробовал следующий шаблон:

\ [(?: "([^"] +) ",?) + \]

Но при выполнении Matcher.find () это приведет к StackOverflowError при использовании больший ввод (но работает для небольшого ввода, это ошибка Java). И даже если это сработало, тогда matcher.group (1) выдаст только «3240acg! g».

Как я могу решить эту проблему проблема? (Или требуется использование нескольких шаблонов, где первый шаблон разделяет скобки?)

6
задан Devabc 10 November 2011 в 13:36
поделиться