加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式与递归表达式匹配嵌套大括号?

发布时间: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)/;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读