使用Grep匹配多文件(JSON/TXT)中符合格式的手机号
手机号定位解决方案
核心匹配规则
- 提取的手机号需包含恰好10或11位数字,数字位数不能多也不能少
- 手机号可被文本、空格、制表符包围
- 数字间允许出现连字符
-、括号()作为分隔符
正则表达式实现
可以使用如下正则表达式精准匹配符合规则的手机号:
(?<!\d)(?:[\(\)-]?\d){10,11}(?!\d)
补充说明:
(?<!\d)和(?!\d)确保手机号前后不会被其他数字截断,避免误匹配长数字串的一部分[\(\)-]?匹配数字间可选的分隔符(括号、连字符)- 整体结构保证匹配内容中的数字总数恰好为10或11位
匹配示例验证
匹配成功的案例:
abc0123456789def abc10123456789def abc 0123456789 def abc 10123456789 def abc1(012)345-6789def abc1-012-345-6789def abc(012)345-6789def abc012-345-6789def abc 1(012)345-6789 def
匹配失败的案例:
abc101234567899def(含12位数字) abc101234567def(含9位数字)
内容的提问来源于stack exchange,提问作者fobik35911
相关产品推荐
相关产品推荐

