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

关于过滤含连续重复超3位数字ID的技术咨询

问题描述

原始ID列表:

74876593476
74877777777
74884784633
74822228765
74878645421
74820201111

需求:过滤掉所有包含连续重复4位及以上相同数字的ID,最终保留的正确结果如下:

74876593476
74884784633
74878645421

(注:你提供的预期结果中重复了74876593476,推测是输入笔误,以上为实际过滤后的正确结果)

过滤实现方案

核心逻辑是使用正则表达式(\d)\1{3,}匹配连续4次及以上的相同数字,然后过滤掉匹配该规则的ID,保留未匹配的。以下是几种常用语言的实现:

Python 实现

import re

id_list = [
    "74876593476",
    "74877777777",
    "74884784633",
    "74822228765",
    "74878645421",
    "74820201111"
]

# 匹配连续4次及以上相同数字的正则
pattern = re.compile(r'(\d)\1{3,}')
# 过滤出未匹配到的ID
filtered_ids = [id_str for id_str in id_list if not pattern.search(id_str)]

# 打印结果
for _id in filtered_ids:
    print(_id)

JavaScript 实现

const idList = [
    "74876593476",
    "74877777777",
    "74884784633",
    "74822228765",
    "74878645421",
    "74820201111"
];

const regex = /(\d)\1{3,}/;
const filteredIds = idList.filter(id => !regex.test(id));

// 输出结果
filteredIds.forEach(id => console.log(id));

Bash 命令行实现

如果用Shell处理,可以直接用grep反向匹配:

# 直接输入ID列表过滤
echo -e "74876593476\n74877777777\n74884784633\n74822228765\n74878645421\n74820201111" | grep -vE '([0-9])\1{3,}'

# 如果ID保存在文件ids.txt中,执行:
# grep -vE '([0-9])\1{3,}' ids.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 22:01:00