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

正则表达式需求:提取每个括号内第二个连字符后的文本

正则提取解决方案

针对你的需求,这里给出适配的正则表达式以及使用示例:

正则模式

r'\([^-]+-[^-]+-([^)]+)\)'

模式解释

  • \(:匹配字符串中的左括号,确保只处理括号内的内容
  • [^-]+:匹配第一个连字符-之前的任意非连字符内容(比如示例中的f)
  • -:匹配第一个连字符
  • [^-]+:匹配第二个连字符之前的任意非连字符内容(比如示例中的dqcn)
  • -:匹配第二个连字符
  • ([^)]+):捕获分组,匹配从第二个连字符之后到右括号)之前的所有内容,这就是目标总线名称
  • \):匹配右括号,限定捕获范围在单个括号内

使用示例

import re

original_str = "(f-dqcn-bus1),(f-cdqc-bus2)"
regex_pattern = r'\([^-]+-[^-]+-([^)]+)\)'
# 提取所有匹配的总线名称
bus_names = re.findall(regex_pattern, original_str)
# 拼接成逗号分隔的结果
result = ','.join(bus_names)
print(result)  # 输出: bus1,bus2

补充说明

  • 该模式支持任意数量的括号(1个或多个),只要每个括号内结构符合(xxx-xxx-总线名)格式即可
  • 如果总线名称仅包含字母、数字或下划线,可将[^)]+替换为\w+,模式变为r'\([^-]+-[^-]+-(\w+)\)',匹配更精准

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:50:36