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

如何扩展正则表达式提取多行代码中的指定字符与文本

正则提取解决方案

直接给你能实现需求的正则,以及对应的用法:

正则表达式

ƒS\.Speech\.tell\(\s*(characters\.\w+)\s*,\s*("[\s\S]*?")\s*\)

怎么用这个正则

这个正则会精准匹配ƒS.Speech.tell()的调用结构,同时捕获两个关键部分:

  1. characters.xxx格式的第一个参数
  2. 带引号的第二个文本参数

在支持正则捕获的工具(比如VS Code、各类正则编辑器)里,把匹配到的内容替换成$1, $2(部分工具用\1, \2),就能直接得到你要的结果。

比如在VS Code里操作:

  • 打开查找替换面板(Ctrl+F),勾选「正则表达式」按钮
  • 查找框贴上面的正则
  • 替换框输入$1, $2
  • 点击「替换全部」,就能批量提取出目标内容

正则拆解(不想看可跳过)

  • ƒS\.Speech\.tell\(:匹配函数调用的开头,转义.是为了避免被当作通配符
  • \s*:匹配参数前后的任意空白(包括空格、换行、制表符),兼容代码里的换行缩进
  • (characters\.\w+):专门捕获第一个参数,characters\.是固定前缀,\w+匹配后面的标识符名称
  • \s*,\s*:匹配分隔两个参数的逗号,同时忽略前后的空白
  • ("[\s\S]*?"):捕获带引号的文本,[\s\S]能匹配包括换行在内的所有字符,*?是非贪婪模式,防止把后面的引号也匹配进去
  • \s*\):匹配函数右括号前的空白,兼容代码里的换行缩进

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 23:40:30