Bu Java regex sorununu nasıl çözebilirim?Regex: Bunu nasıl ele geçirebilirim? (tekrarlanan bir grubun içindeki yuvalanmış bir grup)
Girdi:
some heading text... ["fds afsa","fwr23423","42df f","1a_4([email protected]#","3240acg!g"] some trailing text....
Sorun: çift tırnak arasındaki her şeyi yakalamak istiyoruz. (Örnek: vs. fds AFSA, fwr23423)
Aşağıdaki desen çalıştık:
\[(?:"([^"]+)",?)+\]
Ancak Matcher.find() gerçekleştirirken kullanıldığında, bu StackOverflowError sonuçlanacaktır daha büyük bir giriş (ama küçük bir giriş için çalışıyor, bu Java'da bir hata). Ve eğer işe yaradıysa bile, o zaman matcher.group (1) sadece "3240acg! G" verecektir.
Bu sorunu nasıl çözebiliriz? (Ya birinci desen parantez şeritler gerekli olan çok sayıda desen kullanımı,?)
Yani birden modelleri/maçlar gereklidir. Burada benzer bir şey buldum: http://answers.oreilly.com/topic/222-how-to-find-a-match-within-another-match-in-a-regular-expression/ – Devabc
Eh, tamam orada başka bir yoldur, ama bence iyi değil. Cevabımı ekledim. –