用于匹配具有一个或另一个长度的模式的正则表达式

时间:2014-02-18 16:29:04

标签: regex

我需要匹配一个严格的10个符号长度或12个(不是11个)的模式。所以这不会起作用

[0-9]{10,12}

我能写一些比

更简单的东西
([0-9]{10}|[0-9]{12})

2 个答案:

答案 0 :(得分:2)

您可以使用?将字符或组设置为可选:

\d{10}(\d\d)?

如果这是整个正则表达式,请不要忘记匹配开始和结束:

^\d{10}(\d\d)?$

答案 1 :(得分:1)

这样的事情可能有用......

(pattern)((\1){11}|((\1){9}))

我刚刚在php(\ 1)....

中使用了反向引用