gpt4 book ai didi

使用递归表达式匹配嵌套大括号的正则表达式?

转载 作者:行者123 更新时间:2023-12-04 10:54:34 25 4
gpt4 key购买 nike

我正在尝试匹配 sp { ...{...}... } 之类的文本,允许花括号嵌套的地方。这是我到目前为止所拥有的:

my $regex = qr/
( #save $1
sp\s+ #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/
sp\s+
\{
(
(?: \{ (?-1) \}
| [^{}]++
)*
)
\}
/x;

print "$1\n" if 'sp { { word } }' =~ /($regex)/;

关于使用递归表达式匹配嵌套大括号的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12719935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com