gpt4 book ai didi

regex - 删除最外面的括号

转载 作者:行者123 更新时间:2023-12-01 10:07:33 25 4
gpt4 key购买 nike

我在使用GREL从字符串中删除最外面的括号时遇到问题。我正在尝试做的只是删除最外面的括号,所有其他括号应保持完整。以下是我试图使用正则表达式执行的操作-

value.split(/(abc+/)

下面是我尝试解析的示例字符串和所需的输出。
Foo ( test1 test2 ) => Foo test1 test2
Bar ( test1 t3() test2 ) => Bar test1 t3() test2
Baz ((("Fdsfds"))) => Baz (("Fdsfds"))

我将不胜感激任何帮助。

最佳答案

一种选择是使用捕获组,而在替换中使用第一个捕获组。

请注意,这没有考虑到括号之间的平衡。

它匹配外部括号,然后将组内的内容捕获,然后再次匹配外部括号。

在捕获组内部是一个不匹配()的替换,或者是一个从开始到结束的不匹配括号。

\((\(*(?:[^)(]*|\([^)]*\))*\)*)\)

说明
  • \(匹配外部括号(
  • (捕获组
    -\(*匹配0+次(
  • (?:非捕获组
  • [^)(]*匹配0+次以上,不是()
  • |
  • \([^)]*\)(匹配到下一个)关闭括号
  • )*关闭非捕获组并重复0次以上
  • \)*匹配0+次右括号
  • )关闭捕获组
  • \)匹配外部右括号

  • Regex demo

    关于regex - 删除最外面的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56519862/

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