c#regex西班牙手机

时间:2015-06-08 14:00:31

标签: c# regex

这些规则的有效正则表达式是什么:

34 6xx xxx xxx 
34 7yx xxx xxx
(note y cannot be 0 (zero))

这个会有用吗?

34(([6][0-9]{8}$)|([7][1-9]{1}[0-9]{7}$))

2 个答案:

答案 0 :(得分:0)

你的正则表达式应该有效,假设你不希望它处理空格。

您可以通过从中提取[0-9]{7}的公共后缀来进一步优化您的正则表达式:

^34(?:6[0-9]|7[1-9])[0-9]{7}$

如果您想考虑可选空格,请在您希望允许插入空格字符的位置将\s?插入正则表达式:

^34\s?(?:6[0-9]|7[1-9])[0-9]\s?[0-9]{3}\s?[0-9]{3}$

答案 1 :(得分:0)

如果您需要使用空格处理此特定格式,可以使用

^34 ?(?:6[0-9]{2}|7[1-9][0-9])(?: ?[0-9]{3}){2}$

请参阅RegexStorm demo

REGEX说明:

  • ^ - 字符串开头
  • 34 ? - 34后跟可选空格
  • (?:6[0-9]{2}|7[1-9][0-9]) - 一组2个替代方案:6后面可以跟任意2个数字,7个只能跟随非0和一个数字
  • (?: ?[0-9]{3}){2} - 2组3位数字,可选择用空格分隔
  • $ - 字符串结束。
相关问题