You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取紧跟特定字符串的括号内字符?正则表达式求助

提取指定括号内表达式的正则解决方案

问题场景

给定字符串:

(left.e0_coefficient*right.Scalar) e₀ + (left.e1_coefficient*right.Scalar) e₁ + (left.e2_coefficient*right.Scalar) e₂ + (left.e3_coefficient*right.Scalar) e₃

需要精准提取紧跟e₂的括号内表达式,即left.e2_coefficient*right.Scalar。

之前尝试正则\((.+?)\) e₂时,即便用了非贪婪模式,捕获组仍会包含从第一个左括号到e₂前右括号的所有无关内容,无法得到目标结果。

原因分析

非贪婪模式(.+?)会从第一个左括号开始匹配,只要后续能找到) e₂就会停止,导致跨括号捕获了前面的内容。

解决方案

使用否定字符集限制匹配范围,确保只匹配单个括号内的内容:

\(([^)]+)\) e₂
  • [^)]+ 表示匹配任意非右括号的字符,这样正则会从距离e₂最近的左括号开始匹配,直到遇到对应的右括号为止,精准捕获目标内容。

验证效果

用上述正则匹配目标字符串时,捕获组1将准确返回left.e2_coefficient*right.Scalar。

内容的提问来源于stack exchange,提问作者TheHelpfulHelper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 00:09:58