我需要编写一个正则表达式来检查序列号是否与以下格式匹配:
XX-XXXXX-XXXXXX
示例:50-99627-036043
条件的简要说明:
我使用txt2re.com生成了以下内容,但它不起作用,我不确定如何调试它:
(\\d)(\\d)(-)(\\d)(\\d)(\\d)(\\d)(\\d)(-)(\\d)(\\d)(\\d)(\\d)(\\d)(\\d)
任何帮助都将不胜感激。
答案 0 :(得分:5)
您可以使用:
\d{2}-\d{5}-\d{6}
答案 1 :(得分:2)
正则表达式有多种方言,因此,如果您不知道自己使用哪种方言,最好只使用 all 通常具有的结构。
那将是:
^[0-9]{2}-[0-9]{5}-[0-9]{6}$
并非所有正则表达式引擎都支持\d
,我确保您拥有开始和结束标记,以便完全您想要的格式(除非它匹配整个字符串,您可能会发现它错误地允许15个字符两边的内容。)
如果由于某些奇怪的原因,您的正则表达式引擎甚至不支持{m,n}
类型计数,则需要完全指定每个数字:
^[0-9][0-9]-[0-9][ .... $
答案 2 :(得分:1)
试试这个。它对我有用。
^(\d){2}\-(\d){5}\-(\d){6}$
答案 3 :(得分:0)
您可以使用此
[0-9]{2}-[0-9]{5}-[0-9]{6}
或
\d{2}-\d{5}-\d{6}