[英]Powershell regex matching various Serial numbers
我正在尝试创建匹配各种设备序列号的正则表达式。 匹配是至少 6 个字符长的字母和数字的组合。 我对正则表达式很糟糕,我所能做的只是$Serial -match '\d\D'
但这并不能验证长度。 我试过'\d{0-6}\D{0-6}'
但它没有得到匹配。 任何人都可以为序列号提供适当的正则表达式。 这些来自不同的设备类型,并且格式都略有不同。 以下是示例列表:
1VWPGF1
22P342Y4
2M251434B9
2TK95004x4
5CG934322D
8CG4322TVF
BRJ9323XR5
CND8432NVJ
MXL64322Q4
MXL64324MV
PF1CZ0EF
USE147SX0Y
USH7432L1W
您可以使用以下内容:
$Serial -match '[A-Z0-9]{6,}'
[]
表示字符 class。 里面有一系列字符A
到Z
和0
到9
。 {6,}
匹配当前匹配的 6 次或更多次(0-9 或 AZ)。 通常AZ
在正则表达式中区分大小写,但-match
运算符不区分大小写。 如果您只想要大写匹配,我建议更改为-cmatch
,区分大小写的变体。
如果您不担心区分大小写或下划线,这里有一个更短的版本
$serial -match '[\w]{6,}'
如果您可能在需要排除的字符串中有下划线,则不适合。
另外,我推荐像https://regex101.com/这样的网站来测试你的正则表达式。 您可以实时查看结果,并且页面上有有用的语法指南。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.