正则表达式:返回值可以匹配或为空

时间:2011-08-15 16:06:13

标签: .net regex

如何更改以下正则表达式以使空值(a.k.a String.Empty)也匹配:

^[0-9]{4}$

我尝试过以下但没有成功:

^[0-9]{4}$|^$
(^[0-9]{4}$)*

我正在使用VB.Net应用程序并与命名空间 System.Text.RegularExpressions 进行比较。

注意:正则表达式是一个四位数字,表示SSN的最后四个;它是可选的。因此,我想用一个正则表达式来解决匹配,而不是像这样做:

If myString.Length = 0 Then
   'This is Ok
Else
   'Do the regular expression comparison here
End if

3 个答案:

答案 0 :(得分:2)

尝试这种模式:

^[0-9]{0,4}$

它将匹配0-4位的输入。

如果您只想要0或4位数,请使用:

^[0-9]{4}$|^$

演示:http://regexhero.net/tester/?id=cd85169b-f5f8-457e-8f8e-759816213fb5

答案 1 :(得分:1)

这样做:^([0-9 ]{4})?$

答案 2 :(得分:0)

请尝试以下正则表达式:

^([0-9]{4})?$

希望这有帮助。