¿Cómo puedo resolver este problema de expresiones regulares de Java?Regex: ¿Cómo capturar esto? (un grupo anidado dentro de un grupo repetido)
de entrada:
some heading text... ["fds afsa","fwr23423","42df f","1a_4([email protected]#","3240acg!g"] some trailing text....
Problema: Me gustaría capturar todo lo que entre las comillas dobles. (Ejemplo: fds afsa, fwr23423, etc.)
I han intentado el siguiente patrón:
\[(?:"([^"]+)",?)+\]
Pero cuando se realiza una Matcher.find(), que se traducirá en un StackOverflowError, al utilizar una entrada más grande (pero funciona para una entrada pequeña, esto es un error en Java). E incluso si funcionó, entonces matcher.group (1) solo dará "3240acg! G".
¿Cómo puedo resolver este problema? (¿O es necesario el uso de varios patrones, donde el primer patrón elimina los corchetes?)
Entonces se requieren múltiples patrones/coincidencias. Encontré algo similar aquí: http://answers.oreilly.com/topic/222-how-to-find-a-match-within-another-match-in-a-regular-expression/ – Devabc
Bien, OK, hay es otra forma, pero no creo que sea buena. Lo he agregado a mi respuesta. –