1
我在形式\ command {...} {...}的LaTeX命令上匹配。第二個參數是可選的。我的RegEx是perl6 faq中的一個示例的稍微修改版本,因爲我需要注意參數內部可能存在嵌套的LaTeX命令的情況。我想使用命名組。我怎樣才能做到這一點?我試圖使用(?<第一個>:...)和(?&第一個),但它給了我一個「無限遞歸」錯誤。在RegExes這方面,我可能會略微超過我的頭,但是迄今爲止這非常好。遞歸模式中的命名組匹配
my $regex = qr/
\\command
(\{
(?:
[^\{\}]++
|
(?1)
)*
\})
(\{
(?:
[^\{\}]++
|
(?2)
)*
\})?
/x;
$s =~ m/$regex/g
也許你可以找到一些有用的[這裏](http://search.cpan.org/search?q=latex) – TLP