Kıvırcık parantezlerin yuvalanmasına izin verilen sp { ...{...}... }
gibi metin eşleştirmeye çalışıyorum. sp { { word } }
:İç içe geçmiş parantezleri eşleştirmek için özyinelemeli ifade ile regex?
my $regex = qr/
( #save $1
sp\s+ #start Soar production
( #save $2
\{ #opening brace
[^{}]* #anything but braces
\} #closing brace
| (?1) #or nested braces
)+ #0 or more
)
/x;
Sadece aşağıdaki metni maç için alınamıyor: Bu defa ne var. Regex'imle neyin yanlış olduğunu gören var mı?
Sadece ihtiyacım olan şey. –
Anlatabildiğim kadarıyla, normal ifade, parantez etrafındaki boşluklara (kafiye için özür) izin vermez, bu nedenle test durumu başarısız olur. Ne var ne yok? – tripleee
Hmmm ... Bu, bazı kısmi eşleşmeler için sonsuza dek sürüyor, şöyle ki: "sp {word {(aaaaaaaaaaaaaaaaaaaaaaaaaaaaa)}". –