无法匹配X0 - 正则表达式

时间:2014-12-12 13:04:31

标签: regex

我无法让正则表达式正常行事,任何人都能明白为什么?

Regex: ^[T|X0]?\d{2,8}-\d{2}$

应该是(1):T或X0,(2):2到8位数,(3):连字符,(4):2位数

这应该允许以下示例

1: T10000001-01 (Works)

2: X010000001-01 (Doesn't work)

由于某种原因,X后的零点不起作用。如果我从示例中删除零,它可以工作:(

2 个答案:

答案 0 :(得分:1)

您需要在捕获或非捕获组中包含T |X0

^(T|X0)\d{2,8}-\d{2}$

答案 1 :(得分:1)

您正在定义一个类

您应该使用非捕获组

来执行此操作
^(?:T|X0)\d{2,8}-\d{2}$