c# regex西班牙手机

本文关键字:手机 西班牙 regex | 更新日期: 2023-09-27 17:54:08

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

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}$))

c# regex西班牙手机

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

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

^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}$

如果需要处理带有空格的特定格式,可以使用

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

参见RegexStorm demo

正则表达式解释:

  • ^ -字符串
  • 起始
  • 34 ? - 34后面跟一个可选的空格
  • (?:6[0-9]{2}|7[1-9][0-9]) -一组2个选项:6可以后跟任意2位数字,而7只能后跟非0和多一位数字
  • (?: ?[0-9]{3}){2} - 2组3位数字,可选择用空格分隔
  • $ -字符串结束。