我正在审核应用程序和记录的c#代码。在浏览代码时,我看到了美国电话号码的一个不寻常的正则表达式。正则表达式在
之下 @"^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$";
上述电话号码的结论如01(29).123.4567或01-38-111-1111。
我正确地解释了吗?任何对正则表达式的见解都受到高度赞赏。上述正则表达式的示例将帮助我了解有关正则表达式的更多信息。
答案 0 :(得分:11)
从左到右阅读...
^[01]?
可能可能以0
或1
开头。[- .]?
可以可能跟随-
,空间或.
。(([2-9]\d{2})|[2-9]\d{2})
必须以2
和9
之间的数字开头,然后跟随任意两位数字。 (奇怪地重复了两次,捕获组应该总是包含相同的部分,很奇怪)。这可能意味着逃脱括号,这将更有意义。通常,您使用\
字符来逃避。[- .]?
可以可能跟随-
,空间或.
。\d{3}
必须后跟任意三位数。[- .]?
可以可能跟随-
,空间或.
。\d{4}$
必须以任意四位数跟随(并结束)。答案 1 :(得分:0)
^ [01]? = 0或1或没有
[ - ]? = - 或。或什么
(([2-9] \ d {2})=第一个数字2或更大,后跟2个数字,可以是任意数字b / w 0到9 ..表示012或112都可以正常工作
| =或签名
[2-9] \ d {2})=第一个数字b / w 2和9后跟2个数字b / w 0-9
[ - ]? =手段 - 或。或什么
\ d {4} =任意四个数字b / w 0-9
$ =确保正则表达式以$符号前面的内容结束。 ^与$做同样的事情,但它只检查正则表达式的开头。
答案 2 :(得分:0)
^\d{2}-\d{3,15}$
这将有助于手机号码从3 t0到15位数字的变化。
例如:91-xxxxxxxxxxxxxxx
以上x
的范围是3到15位数字
[RegularExpression(@"^\d{2}-\d{3,15}$
“,ErrorMessage =”无效的电话号码“)]
答案 3 :(得分:0)
List<Employe> listEmploye = new ArrayList<>();
for(int i=0; i< ids.size();i++)
{
Long idLong = Long.valueOf(ids.get(i));
BigDecimal idBig= BigDecimal.valueOf(idLong);
listEmploye.add(findByIdPointage(idBig));
}
它将采用91-xxxxxxxxxx形式的数字
x是10到15个数字,范围为