正则表达式 – 什么正则表达式匹配模式或为空?

我需要与模式匹配的正则表达式或为空.

现在我有一个表达…

"\(?\d{3}\)?[-\s.]?\d{3}[-\s.]\d{4}/x"

…匹配美国电话号码.但是,对于我测试的字符串为空,它是有效的.如果字符串中有任何值,它必须与表达式匹配.

我有其他符合美国邮政编码等需要相同条件的模式.

在同一个表达式中实现这一点的最好方法是什么?

澄清:我正在使用Microsoft的验证应用程序块中的RegexValidator.使用它的一个例子如下:

[StringLengthValidator(0,100,MessageTemplate = "Email must be between {3} and {5}")]
[RegexValidator(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*",MessageTemplate = "Valid Email Required.")]
public string EmailAddress
{
    get { return _EmailAddress; } 
    set { SetValue<string>(ref _EmailAddress,value); }
}

这就是为什么我需要一个表达式的解决方案.

将整个正则表达式包含在括号中并放置一个?最后:
(\(?\d{3}\)?[-\s.]?\d{3}[-\s.]\d{4}/x)?

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...