regex - Python 中的正则表达式。检查电话号码的有效性
问题描述
我正在尝试构建一个逻辑来检查 Python 中电话号码的有效性。如果用户输入任何以+91 或91 开头并包含从6 -9 开始的10 位数字的手机号码。它应该是一个有效的电话号码。我尝试了下面的代码,但它给了我一个错误:错误:位置 9 的不平衡括号任何帮助将不胜感激。例如:电话号码应具有以下任何格式: +917162377291 916162377291 +918162377291 +919162377291 如果用户输入上述格式的任何数字,则第 91 或 +91 后的第一个数字应在 {6,7, 8 或 9} 后跟 9 位数字应该是有效的电话号码。
import re
s=input('Enter the phone number:')
m=re.fullmatch('^\(+91|91)[6-9]d{9}',s)
if m!=None:
print('Correct Number')
else:
print('Incorrect Number')
解决方案
该错误是由转义\(
匹配(
字符而不是组的一部分引起的。
但是匹配这些格式,您不需要分组机制,也不必将 9 和 1 设为可选,只需+
^\+?91[6-9]\d{9}$
s=input('Enter the phone number:')
m=re.fullmatch('\+?91[6-9]\d{9}', s)
if m!=None:
print('Correct Number')
else:
print('Incorrect Number')
推荐阅读
- android - 关于单击 listView 中的按钮的指示
- php - 循环数组更新mysql表
- memory - 展平设备树中内存映射声明的含义
- react-native - 尝试在 React Native 中使用 Three.js 加载 obj 和 mtl 文件
- github - 为什么我不能再通过 `svn:external` 获取 Github 存储库?
- python - 使用 ctypes 时 Dll 函数的名称错误
- node.js - node.js 中的工作池与 libuv 的线程池
- css - 相对于徽标图像的大小和垂直中心导航栏项目
- wordpress - Wordpress add_rewrite_rule 第二个参数不起作用
- java - JSON解析 - 如何?