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

如何用正则表达式提取字符串首下划线前及一二下划线间的内容?

解决方案

方法1:字符串分割(简单直观)

大部分编程语言都支持按指定字符分割字符串的方法,只需限制分割次数为2,就能快速拿到前两个目标部分:

以Python为例:

s = "ABCD_HEWD_21.1_220101_R123456789_231010_085204.xml"
# 只分割前两个下划线,得到包含前三个部分的列表
parts = s.split('_', 2)
first_section = parts[0]  # 结果:"ABCD"
second_section = parts[1]  # 结果:"HEWD"

方法2:正则表达式精准匹配

如果想用正则,不用复杂的断言,直接匹配字符串开头的两个非下划线片段即可:

正则表达式:

^([^_]+)_([^_]+)
  • ^:锚定字符串开头,避免匹配中间的片段
  • ([^_]+):捕获一个或多个非下划线字符,作为第一个目标部分
  • _:匹配第一个下划线
  • ([^_]+):捕获第二个非下划线片段,即第一个和第二个下划线之间的内容

以Python为例:

import re
s = "ABCD_HEWD_21.1_220101_R123456789_231010_085204.xml"
match_result = re.match(r'^([^_]+)_([^_]+)', s)
if match_result:
    first_section = match_result.group(1)
    second_section = match_result.group(2)

如果你只想单独提取第二个部分,也可以用简化版正则:^[^_]+_([^_]+),直接取捕获组1即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 03:19:59