这是一个可以将括号中的文本与嵌套括号匹配的正则表达式[重复]

2024-04-24

我需要一些帮助来编写一个正则表达式,该正则表达式将括号中的字符串与嵌套括号匹配并以模式开头。 (注意:“父”括号中的文本可以没有嵌套括号)

例子:

Some text (pattern: SOME TEXT THAT (I WANT TO EXTRACT)) a bit more text (another pattern: ignore that text) and may be a little more text

结果应该是:SOME TEXT THAT (I WANT TO EXTRACT)

Some text (pattern: SOME TEXT THAT (I WANT TO EXTRACT)) a bit more text (another pattern: ignore that text) and may be a little more text

结果应该是SOME TEXT THAT (I WANT TO EXTRACT)

Some text (pattern: SOME TEXT THAT I WANT TO EXTRACT) a bit more text (another pattern: ignore that text) and may be a little more text

结果应该是SOME TEXT THAT I WANT TO EXTRACT

我尝试过的正则表达式/\((pattern:?\s?([^\)]+))\)/gi错过了嵌套)


因此,您正在查找括号中的所有文本,以“pattern:”开头,后跟一个字符串,该字符串可以选择包含一组匹配的括号。

这远不可读,但这样就可以了:

\(pattern:([^()]+|[^(]+\([^)]*\)[^()]*)\)

用一句话来说就是:寻找(pattern: ...) where ...是不是括号的字符串(我们称它们为 NPC - 这就是[^()]+部分)或一系列 NPC,后跟一个左括号,后跟一系列 NPC,后跟一个右括号,以及可选的另一串 NPC(即[^(]+\([^)]*\)[^()]* part).

当然,这不能处理更多级别或嵌套,但如果我正确理解问题,则不需要它(无法制定处理任意嵌套的正则表达式)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

这是一个可以将括号中的文本与嵌套括号匹配的正则表达式[重复] 的相关文章

随机推荐

  • Visual Studio 2010:如何在解决方案中强制执行项目的构建顺序?

    我在 Visual Studio 2008 中没有遇到任何问题 但 VS 2010 似乎有问题 我敢打赌这可能是我的问题 我有一个包含 ASP NET 网站项目和一些 C 项目 BLL DAL NUnit 中的测试 的解决方案 我已将测试项
  • Java:如何复制一个对象,使其来自同一个子类?

    我尝试使用一个简单的例子来更好地理解 我有一堂课Tool以及正在延伸班级的子班Tool Hammer Saw 两者都定义了一些字段 例如weight两者都是重写方法getCost有自己的实现 Tool first tool new Hamm
  • 如何以及何时在 MySQL 中正确使用 SLEEP()?

    和 关联我的另一个问题 https stackoverflow com questions 4284162 calling stored procedure sequentially from sql file and php fails
  • Java节流机制

    Update 我使用的是 Java 1 6 34 没有机会升级到 Java 7 我有一个场景 每分钟只允许调用一个方法 80 次 它实际上是由第 3 方编写的服务 API 如果调用次数过多 它会 关闭 忽略调用 其 API public c
  • 多种形式的异常处理

    当我调试时与运行编译的 exe 时 我看到不同的行为 异常被捕获或未被捕获 我有两个表格 Form1 和 Form2 Form1 上有一个按钮 用于实例化并调用 Form2 上的 ShowDialog Form2 上有一个按钮 故意产生除以
  • 使用布隆过滤器有什么好处?

    我正在阅读布隆过滤器 它们看起来很愚蠢 使用布隆过滤器可以完成的任何事情 都可以使用单个哈希函数而不是多个哈希函数在更少的空间内更有效地完成 或者看起来就是这样 为什么要使用布隆过滤器以及它有何用处 亚历克斯已经解释得很好了 对于那些还没有
  • Laravel 5.4:如何保护 api 路由

    我有一个 React 应用程序 它从 laravel api 中获取数据 定义如下 routes api php this is default route provided by laravel out of the box Route
  • Swift 崩溃日志中的“Arg = Exploded”是什么意思? [复制]

    这个问题在这里已经有答案了 我从 Crashlytics Fabric 收到崩溃日志 内容如下 function signature specialization
  • 是否可以在新的密钥库中安装现有的私钥和 ssl 证书?

    我们在服务器故障期间丢失了用于生成 CSR 的原始密钥库 我们有私钥 key 文件 和原始 CSR csr 文件 的备份 是否可以用这些重建密钥库 由于创建证书链的所有说明都需要原始密钥库 这适用于 Tomcat 7 0 27 Thanks
  • 切换分支时发生致命 Git 错误

    错误信息 致命 git checkout 更新路径与切换分支 强制不兼容 如何解决这个 Git 签出错误 通过明确指定 git checkout HEAD blah 而不是仅仅说 git checkout blah 假设您确实想查看文件 然
  • Android 创建 JSON 对象的 JSON 数组

    您好 有谁知道如何创建一个包含对象的数组 每个对象中都包含多个对象 我似乎无法理解它 结构应该是这样的 Array object subobject subobject object subobject subobject 这是我到目前为止
  • 当端点和 PMA 地址均更改时,CubeMX 生成的 USB HID 设备发送错误数据

    我正在调试我正在创建的复合设备的问题 并在新生成的仅 CubeMX 代码中重新创建了该问题 以使其更容易解决 我添加了少量代码main 让我发送 USB HID 鼠标点击 并在按下蓝色按钮时使 LED 闪烁 uint8 t click re
  • i18next 翻译问题

    我仍然尝试使用 i18next 来翻译我的 jQuery 应用程序 解决了一些一般问题后 此处解决 如何使用i18next 翻译问题 https stackoverflow com questions 13005791 how to use
  • 在后台从 url 加载一个大 plist

    我从 url 加载一个大的 plist 文件 我必须等待几秒钟才能使用该应用程序 有什么解决办法吗 如何在后台加载它 是GCD我需要的 如何实施 My code NSString urlStr NSString alloc initWith
  • 带猫头鹰旋转木马的 Fancybox (lazyLoad)

    我正在使用带有lazyLoad选项的Fancybox v3 5 4和Owl carousel v2 3 4 当我们点击照片时 Fancybox 就会弹出照片 然后 如果我们点击几次 下一步 以获取 Fancybox 上的下一张照片 然后关闭
  • Java:URLConnection合理的超时时间

    默认情况下 URLConnection 的超时时间为 0 无限制 XXXXX 的合理值是多少 URL url URLConnection uCon url openConnection uCon setConnectTimeout XXXX
  • 在 O(n) 时间和 O(1) 空间中生成数组的随机排列

    我们必须生成数组 1 2 3 n in O 1 space 我能够做到O n space I did O n 空间解决方案 首先存储数组 然后将其随机化 但是如何在不存储数组的情况下做到这一点O 1 space 我只是生成随机数 而不是存储
  • 随着新数据的出现,如何增量训练 FANN?

    我使用 FANN 库构建并训练了一个神经网络 这是初步培训 大部分数据将在线收集 当在线数据可用时我想要improve使用这些新数据的网络 不是重新训练 而是使之前的训练更加准确 如何用FANN来做这种增量训练呢 从更改为的文件进行训练 s
  • Flask - POST 错误 405 方法不允许

    我刚刚开始学习 Flask 我正在尝试创建一个表单 该表单将允许POST method 这是我的方法 app route template methods GET POST def template if request method PO
  • 这是一个可以将括号中的文本与嵌套括号匹配的正则表达式[重复]

    这个问题在这里已经有答案了 我需要一些帮助来编写一个正则表达式 该正则表达式将括号中的字符串与嵌套括号匹配并以模式开头 注意 父 括号中的文本可以没有嵌套括号 例子 Some text pattern SOME TEXT THAT I WA