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

如何用正则表达式提取指定字符串中括号前的任意数量单词?

正则表达式匹配括号前的任意数量单词

要捕获(599|C07)这类括号前的任意数量单词,不需要硬编码单词个数,有两种实用方案:

方案1:通用匹配(兼容任意字符)

使用非贪婪匹配捕获左括号前的所有内容:

^(.*?)\s*\(
  • ^ 锚定字符串开头,避免匹配中间的括号
  • (.*?) 非贪婪捕获任意字符,直到遇到后续的空格和左括号
  • \s* 匹配括号前的任意数量空格(包括0个)
  • \( 匹配左括号(转义是因为括号在正则里是特殊元字符)

测试示例字符串Comet TV Hd (599|C07)时,捕获组1会精准得到Comet TV Hd。

方案2:精准匹配单词类内容

如果只需要捕获由单词字符(字母、数字、下划线)和空格组成的内容,用字符集限制更严谨:

^([\w\s]+?)\s*\(
  • [\w\s]+? 非贪婪匹配任意数量的单词字符和空格,过滤掉非单词类的意外字符
  • 其余部分和方案1一致,适合明确只有单词和空格的场景

注意点

  • 一定要用非贪婪模式的?,否则如果字符串存在多个括号,会匹配到最后一个括号前的所有内容,不符合预期
  • 如果需要兼容其他字符(比如节目名里的.、-),可以扩展字符集,比如改成[\w\s\.\-]+?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:22:08