sp { ...{...}... }
과 같은 텍스트를 찾으려고합니다. 중괄호는 중첩 할 수 있습니다. sp { { word } }
:중첩 된 중괄호와 일치하는 재귀식이있는 정규식?
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;
내가 그냥 다음 텍스트와 일치하는 얻을 수 없다 : 이것은 내가 지금까지있는 것입니다. 누구든지 내 정규식에 어떤 문제가 있는지 확인할 수 있습니까?
내가 필요한 것. –
거의 알 수 있듯이, 정규 표현식은 중괄호 주위에 공백을 허용하지 않으므로 (운율에 대해 유감 스럽습니다) 테스트 케이스가 실패해야합니다. 그게 뭐야? – tripleee
흠 ... 이것은 다음과 같이 일부 부분 일치를 위해 영원히 끝납니다 :'sp {word {(aaaaaaaaaaaaaaaaaaaaaaaaaaaaa)}'. –