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

如何从文件名中提取独立的3位同位素编号(223/224)?

Perl正则提取独立同位素编号223/224的解决方案

核心思路是确保目标数字223或224是独立的3位数字,而非长数字串的片段,这可以通过Perl的正则负向断言实现:

关键正则表达式

/(?<!\d)(223|224)(?!\d)/
  • (?<!\d):负向回顾断言,匹配位置的前面不能是数字,避免目标数字成为长数字的后缀(比如202223里的末尾223)
  • (223|224):精确匹配目标同位素编号
  • (?!\d):负向前瞻断言,匹配位置的后面不能是数字,避免目标数字成为长数字的前缀(比如223123里的开头223)

实用Perl子例程示例

sub extract_isotope {
    my $filename = shift;
    # 匹配独立的223/224,忽略长数字串中的片段
    return $1 if $filename =~ /(?<!\d)(223|224)(?!\d)/;
    return undef; # 无匹配时返回undef
}

测试场景验证

  • 文件名test_224_20230522.txt:匹配224,不会误抓日期里的数字
  • 文件名sample223_2022231.csv:匹配223,忽略日期串2022231中的223片段
  • 文件名223data_123224.log:同时存在时优先匹配第一个出现的独立编号(这里是223),如果需要匹配所有可改用g修饰符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:52:03