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

PowerShell正则匹配非连续重复数字的两类过滤需求问询

PowerShell正则过滤规则解决方案

给定目标数组:

000111
010101
220220
123456

过滤规则1:匹配包含3个及以上数字0的内容

0{3,}仅能匹配连续的3个0,要识别被其他数字间隔的非连续0,可使用以下正则:

^(?:[^0]*0){3,}[^0]*$

正则说明

  • (?:[^0]*0):非捕获组,匹配任意数量(含0)的非0字符,后跟一个0
  • {3,}:重复该组3次及以上,确保字符串中至少存在3个0
  • [^0]*:匹配末尾剩余的非0字符(可选)

PowerShell执行代码

$targetArr = @("000111", "010101", "220220", "123456")
$filteredResult = $targetArr | Where-Object { $_ -match '^(?:[^0]*0){3,}[^0]*$' }
$filteredResult

输出结果:

000111
010101

过滤规则2:匹配包含任意数字出现3次及以上的内容

通过反向引用实现任意数字的非连续重复匹配,正则表达式如下:

^.*(\d)(?:.*\1){2,}.*$

正则说明

  • (\d):捕获任意单个数字
  • (?:.*\1){2,}:非捕获组,匹配任意数量字符后跟上捕获到的数字,重复2次及以上(加上首次捕获,总出现次数≥3)
  • 整个表达式确保字符串中至少有一个数字的出现次数达到3次或更多

PowerShell执行代码

$targetArr = @("000111", "010101", "220220", "123456")
$filteredResult = $targetArr | Where-Object { $_ -match '^.*(\d)(?:.*\1){2,}.*$' }
$filteredResult

输出结果:

000111
010101
220220

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 01:55:15