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

如何用正则匹配「func 」到对应右括号「)」之间的所有字符(含右括号)

匹配方案

由于目标内容存在嵌套括号的场景,需要使用支持递归匹配/平衡组的正则引擎才能实现,普通不支持递归特性的正则(如JavaScript原生正则)无法处理任意层级的嵌套括号。

可用正则表达式

包含func 前缀的匹配:

func\s+\w+\s*\((?:[^()]|(?R))*?\)

仅匹配func 到右括号之间的内容(不含func 前缀):

func\s+\K\w+\s*\((?:[^()]|(?R))*?\)

适用环境

上述正则为PCRE语法,可用于PCRE2、Python regex 第三方库、Java 9+、PHP等支持递归正则的环境。如果使用的环境不支持递归正则,可通过手动实现括号计数的逻辑完成匹配。

测试匹配结果

针对你提供的测试用例,最终匹配结果如下:

  • greet(person: String)
  • fetchImages()
  • chooseStepFunction(backward: Bool)
  • printMathResult(_ mathFunction: (Int, Int) -> Int, _ a: Int, _ b: Int)
  • mathResult(_ mathFunction: (Int, Int) -> Int, anotherFunc: (Double) -> Int)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:45:00