我正在尝试使用正则表达式来匹配以7个数字开头的字符串,然后在它之间有一个“K”,然后再次使用3个数字。例如: 1234567K890。
我目前有$_a -match '^\d{7}K\d{3}'
。但是,这不适用于我的目的。有没有人有解决方案?
答案 0 :(得分:2)
经测试,适用于您的示例和其他一些:
$string = "1234567K890"
$string -match '^[0-9]{7}(k)[0-9]{3}$'"
它恰好与7个数字匹配,然后与K匹配(套管无关紧要),然后恰好与3个数字相匹配。字符串开头和结尾的字符限制字符串开头和结尾的空格 - 如果你想要允许空格,你可以删除它们。
这是一个powershell regex reference,可能在将来有所帮助。
答案 1 :(得分:2)
PS C:\> "1234567K890" -match "\d{7}(k)\d{3}"
此\d{7}
匹配7位数字,然后(k)
匹配字母k,\d{3}
匹配最后三个字符。