这些规则的有效正则表达式是什么:
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}$))
答案 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}$
REGEX说明:
^
- 字符串开头34 ?
- 34后跟可选空格(?:6[0-9]{2}|7[1-9][0-9])
- 一组2个替代方案:6
后面可以跟任意2个数字,7个只能跟随非0和一个数字(?: ?[0-9]{3}){2}
- 2组3位数字,可选择用空格分隔$
- 字符串结束。