regex - 查找缺少 0 的电话号码

标签 regex notepad++

我在 Notepad++ 中打开了一个 csv 文件,并尝试使用“搜索/替换”功能并选中“正则表达式”来查找缺少 0 的电话号码。

我的正则表达式开始为 (\d[0-9]{10})它可以找到所有电话号码,但我只需要找到缺少前导 0 的电话号码。

请问执行此操作的合适的 RegEx 模式是什么?


csv文件的测试数据:

ID,TITLE,FNAME,SNAME,GENDER,PHONE,MOBILE,DOB,
1,Mrs,Sue,Mac,Female,01702 11000,07961111111,23/4/1958 
01,Mrs,Sue,Mac,Female,1702 11000,07961111111,23/4/1958 
2,Mr,Jim,Bell,Male,01698502269,07961111111,5/5/1958 
3,Mr,John,Smith,Male,,,,,,,,17/5/1958 00:00:00
4,,Batman,Smith,,,,,,,01389 111 111,07961111111,29/5/1958      
04,,Batman,Smith,,,,,,,1389 111 111,07961111111,29/5/1958      
5,Mr.,Hulk,Smith,Male,01389 111 111,07961111111,2/6/1958 
6,Mr.,Hulk,Briggs,Male,21,07961111111,6/6/1958 
06,Mr.,Hulk,Briggs,Male,21,7961111111,6/6/1958 
7,Mr.,Mike,Brigs,Male,15-20,07961111111,6/6/1958 
8,Mr.,Mike,Briggs,Female,20,07961111111,6/6/1958 
9,Mr,David,Golden,Male, 01254 111111,07961111111,10/6/1958
10,Mr,Pete,Lee,Male,020 7111 1111,07961111111,22/6/1958 
11,Ms,Karren,Lee,Female,02881111111,07961111111,4/7/1958 
12,Ms,Lisa,Bond,Female,,,,,,01411111100,07961111111,16/7/1958 
13,Mr,Murdasa,Smith,Male,01268 000 000,07961111111,20/7/1958 
14,,Brian,Smith,,(0)1753 604000,07961111111,24/7/1958 
15,,Brian,Smith,,12 (0)1753 604000,07961111111,24/8/1958 
015,,Brian,Smith,,12 ()1753 604000,07961111111,24/8/1958 

最佳答案

您应该将 \d(任何数字)替换为 [1-9]( 0 的任何数字)。

如果我没看错,你需要的正则表达式模式是:\b([1-9](\d *){9})\b,你可以调整{9}{8,10},具体取决于所需的电话号码长度。

http://i.imgur.com/6MHprAW.png


编辑:添加了单词边界 (\b) 并让模式忽略入站空格

关于regex - 查找缺少 0 的电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29415783/

相关文章:

regex - .htaccess 重写可选的尾部斜杠

regex - Notepad++ 正则表达式查找/替换使用向后看不起作用

autocomplete - 如何阻止 Notepad++ 显示文件中所有单词的自动完成功能

notepad++ - Notepad++ 搜索和替换是否可以使用通配符

regex - Notepad++ 正则表达式从目录中的文件中删除最后 x 行

xml - XPath 函数可以查询 50 个 XML 文件吗?

javascript - 将表情符号与文本分开的正则表达式

java - 将数字提取到字符串数组中

javascript - javascript正则表达式的验证

c# - 如何替换 Regex 表达式中的实际星号字符 (*)?