正则表达式与递归表达式匹配嵌套大括号?
发布时间:2020-12-14 06:23:02 所属栏目:百科 来源:网络整理
导读:我正在尝试匹配像sp {… {…} …}这样的文本,允许花括号嵌套.这是我到目前为止: my $regex = qr/( #save $1 sps+ #start Soar production ( #save $2 { #opening brace [^{}]* #anything but braces } #closing brace | (?1) #or nested braces )+ #0 or
我正在尝试匹配像sp {… {…} …}这样的文本,允许花括号嵌套.这是我到目前为止:
my $regex = qr/ ( #save $1 sps+ #start Soar production ( #save $2 { #opening brace [^{}]* #anything but braces } #closing brace | (?1) #or nested braces )+ #0 or more ) /x; 我无法让它与以下文字匹配:sp {{word}}.任何人都可以看到我的正则表达式有什么问题吗?
有很多问题.递归位应该是:
( (?: { (?-1) } | [^{}]+ )* ) 全部一起: my $regex = qr/ sps+ { ( (?: { (?-1) } | [^{}]++ )* ) } /x; print "$1n" if 'sp { { word } }' =~ /($regex)/; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |