正则表达式验证长度和起始数字的数字

时间:2013-11-20 01:19:13

标签: c# regex validation

我正在寻找一个可以验证数字的正则表达式。 一部分很容易^(\ d {5,9})$表示数字的字符串必须是5到9位。

第2部分我不知道如何:它不能以9999

开头

如何添加该部分?

3 个答案:

答案 0 :(得分:2)

这样做:

^(?!9999)\d{5,9}$

(?!....)为否定lookahead,表示“未跟随”

答案 1 :(得分:1)

你想要一个负向前瞻断言,锚定在字符串的开头:

Regex rx = new Regex( @"^(?!9999)\d{5,9}$" ) ;

答案 2 :(得分:0)

我建议您使用编程语言的普通字符串函数来提取字符串的前四个字符,并将它们与" 9999"进行比较。这比负向前瞻断言更有效,也更容易阅读。

我认为可能存在一些需要符合正则表达式格式的特殊情况。如果是这种情况,那么其他答案就会满足您的需求。但我认为很难意识到并非涉及模式匹配的所有内容都必须使用正则表达式。