2012-03-22 124 views
8

我正在尝试编写一个以数字0或任何字母(基本上不能以1-9开头)开头的RegEx。它也必须是13个字符长RegEx以字母或数字开头0

我有这一点,但它似乎不工作:

"^[0][a-zA-Z]{13}" 
+0

您的RegEx翻译为“0”,后面跟着13个字母“ – 2012-03-22 00:43:26

+0

这是否是家庭作业? – gbulmer 2012-03-22 00:46:02

+0

@gbulmer它不是作业。根据用户输入执行特定类型的搜索 – mint 2012-03-22 00:46:52

回答

14

试试这个正则表达式来代替:

"^[0a-zA-Z].{12}$" 

[0a-zA-Z]的意思是“一个字,那就是无论是一个0,az中的一个或AZ中的一个“。

.{12}意味着12个以上的字符,无论它们是什么。

+0

感谢您的解释,这很好,我之前有类似的东西,但没有使用。{12}和wa代替使用{13}。 – mint 2012-03-22 00:45:33

+1

如果我想把最后十二位数字作为数字,我会做''^ [0a-zA-Z] [0-9]。{12} $“'? – mint 2012-03-22 00:48:26

+3

@mint''^ [0a-zA-Z] [0-9] {12} $“' – gbulmer 2012-03-22 00:55:13

1

您正在寻找这样的事情:

^[0\w]\S{12}$ 

该规定的第一个字符必须为0或单词字符。后面紧跟着12个不是空白的字符(这允许0-9,字符和特殊字符)。用任何你喜欢的东西重新将\ S重新分隔。例如[0-9 \ w]

测试正则表达式是:http://regexpal.com/我经常用它来测试正则表达式