LaTeX-Command의 \ command {...} {...} 형식과 일치합니다. 두 번째 인수는 선택 사항입니다. 내 RegEx는 perl6 faq에있는 한 가지 예를 약간 수정 한 버전으로, 인수 내에 중첩 된 LaTeX 명령이있을 수 있으므로주의해야합니다.재귀 패턴의 명명 된 그룹 일치
명명 된 그룹을 사용하고 싶습니다. 어떻게해야합니까? 나는 (? < 첫 번째 : : ...)를 (? & 첫 번째)와 함께 사용하려고 시도했지만 "무한 재귀"오류가 발생합니다. 나는 여기 RegExes의 측면에서 약간 머리가 될지 모르지만 이것은 지금까지 매우 잘 작동했다.
my $regex = qr/
\\command
(\{
(?:
[^\{\}]++
|
(?1)
)*
\})
(\{
(?:
[^\{\}]++
|
(?2)
)*
\})?
/x;
$s =~ m/$regex/g
아마도 [유용한 정보]를 찾을 수 있습니다 (http://search.cpan.org/search?q=latex) – TLP