加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:29:09 所属栏目:百科 来源:网络整理
导读:我需要与模式匹配的正则表达式或为空. 现在我有一个表达… "(?d{3})?[-s.]?d{3}[-s.]d{4}/x" …匹配美国电话号码.但是,对于我测试的字符串为空,它是有效的.如果字符串中有任何值,它必须与表达式匹配. 我有其他符合美国邮政编码等需要相同条件的模式.
我需要与模式匹配的正则表达式或为空.

现在我有一个表达…

"(?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)?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读