类似这样的内容:
http://perl.plover.com/yak/regex/samples/slide083.html
换句话说,我想成功匹配 { { foo } { bar} }
但不匹配 { { foo }
。
我看到Perl和.NET可以实现,那么Emacs正则表达式能否实现呢?
类似这样的内容:
http://perl.plover.com/yak/regex/samples/slide083.html
换句话说,我想成功匹配 { { foo } { bar} }
但不匹配 { { foo }
。
我看到Perl和.NET可以实现,那么Emacs正则表达式能否实现呢?
目前,Perl/PCRE和.NET是唯一支持任意嵌套(递归模式)的正则表达式语言。
cexp-search-forward
搜索组合的正则表达式和平衡表达式。内置的re-search-forward
用于正则表达式,并应用其语法规则。平衡表达式可以使用额外的语法元素\!(
和\!)
进行匹配。\!(^{ \(\!(^{.*}$\!)\)+ }$\!)
这样的结构不起作用,因为其中包含内部平衡表达式的组。\def\mdo#1{{\def\next{\relax}\def\tmp{#1}\ifx\next\tmp\else\def\next{#1\mdo}\expandafter}\next}
使用类似于组合表达式的方式
\\def\\[[:alpha:]]+\(#[0-9]\)*\!(^{.*}$\!)
\def\mdo#1
#1
{{\def\next{\relax}\def\tmp{#1}\ifx\next\tmp\else\def\next{#1\mdo}\expandafter}\next}
(forward-sexp)
。我只是希望能够用一个正则表达式完成它。 - Cheeso