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

如何按XXX-XX-XXXX格式规则从文本文件提取匹配字符串?

解决方法

用正则表达式匹配目标格式

你要提取的XXX-XX-XXXX格式,对应的正则表达式可以写成:\b[A-Z0-9]{3}-[A-Z0-9]{2}-[A-Z0-9]{4}\b,各部分含义:

  • \b:匹配单词边界,避免匹配更长字符串的冗余部分
  • [A-Z0-9]{3}:匹配3个大写字母或数字
  • -:匹配固定的连字符分隔符
  • [A-Z0-9]{2}:匹配2个大写字母或数字
  • [A-Z0-9]{4}:匹配4个大写字母或数字

代码示例(Python)

假设用Python处理文本文件,可参考以下代码:

import re

# 读取文本文件内容
with open('your_file.txt', 'r') as f:
    content = f.read()

# 定义正则匹配模式
pattern = r'\b[A-Z0-9]{3}-[A-Z0-9]{2}-[A-Z0-9]{4}\b'
# 查找所有符合格式的子串
matches = re.findall(pattern, content)

# 输出结果(取第一个匹配项对应你的预期输出)
if matches:
    print(f"'{matches[0]}'")
else:
    print("未找到符合格式的字符串")

测试验证

用你提供的示例文本:

B311-SG-1700-ASJND83-ANSDN762
BAKSJD873-JAN-1293

运行代码后会输出'B311-SG-1700',与预期一致。

灵活调整

  • 如果字符串包含小写字母,将正则中的[A-Z0-9]改为[A-Za-z0-9]即可
  • 若需仅匹配行开头的符合格式子串,可将正则改为^[A-Z0-9]{3}-[A-Z0-9]{2}-[A-Z0-9]{4}(^用于匹配行开头)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 17:55:19