RegEx-匹配具有不同开头的数字
我是 RegEx 的新手,我正在尝试匹配一个具有 8 位数字且有 3 个开始选项的特定数字:
- 00
- 15620450000
- VS
例如:
- 15620450000 12345678
- VS 12345678
- 00 12345678
- 12345678
我不想匹配第四个选项。现在我已经设法匹配了第一个和第三个选项,但是我在第二个选项上遇到了问题,我写了这个表达式,试图匹配“项目”下的 8 位数字:
156204500|VS|00(?<Project>d{8})
我该怎么办?
谢谢
回答
使用您显示的示例,请尝试遵循正则表达式一次。
^(?:00|15620450000|VS)(d{8})$
或将其与项目相匹配尝试:
^(?:00|15620450000|VS)(?<Project>d{8})$
上述正则表达式的在线演示
说明:为以上添加详细说明。
^(?:00|15620450000|VS) ##Checking value from starting and in a non-capturing group matching 00/15620450000/VS here as per question.
(?<Project>d{8} ##Creating group named Project which is making sure value has only 8 digits till end of value.
)$ ##Closing capturing group here.