use*_*827 0 regex perl expression nested parentheses
如何使用 perl 正则表达式提取最外面括号内的内容?
文本 = (-(A + (B - C)))
输出 = -(A + (B - C))
谢谢
小智 5
可以用这个来完成(\(((?:[^()]++|(?1))*)\)),并且有几种
方法可以做到。
( # (1 start), Recursion code group
\( # Opening (
( # (2 start), Capture, inner core
(?: # Cluster group
[^()]++ # Possesive, not parenth's
| # or,
(?1) # Recurse to group 1
)* # End cluster, do 0 to many times
) # (2 end)
\) # Closing )
) # (1 end)
Run Code Online (Sandbox Code Playgroud)
输出
** Grp 0 - ( pos 4 , len 16 )
(-(A + (B - C)))
** Grp 1 - ( pos 4 , len 16 )
(-(A + (B - C)))
** Grp 2 - ( pos 5 , len 14 )
-(A + (B - C))
Run Code Online (Sandbox Code Playgroud)