gpt4 book ai didi

regex - 什么正则表达式将匹配模式或为空?

转载 作者:行者123 更新时间:2023-12-03 23:05:34 25 4
gpt4 key购买 nike

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

我现在有一个表情...

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

关于regex - 什么正则表达式将匹配模式或为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/679258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com