正则表达式或表达式中间的条件

时间:2015-06-25 11:10:09

标签: regex

我在asp.net中的正则表达式验证程序中遇到|表达式问题。我希望用户能够输入这样的字符串

AB/123/123/12
AB/12/123/12

这是我的正则表达式

        AB[\/]^\d{3}|\d{2}$[\/]\d{3}[\/]\d{2}

我已经单独测试了这部分

       ^\d{3}|\d{2}$ 

它可以工作但是当它在第一个正则表达式的中间时它似乎并不存在。这可能是我失踪的小事,但我无法看到它。在此先感谢您的任何帮助

2 个答案:

答案 0 :(得分:3)

将起始锚点和结束锚点(^$)置于可以开始或结束字符串的位置以外的任何位置意味着正则表达式绑定不匹配。相反,您可以使用括号来限制与语句相关的内容:

AB[\/](\d{3}|\d{2})[\/]\d{3}[\/]\d{2}

但是,最好尽可能地浓缩它。

AB\/\d{2,3}\/\d{3}\/\d{2}

答案 1 :(得分:0)

^AB\/(\d{3}|\d{2})\/\d{3}\/\d{2}$

怎么样?