我在 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}
,具体取决于所需的电话号码长度。
编辑:添加了单词边界 (\b
) 并让模式忽略入站空格
关于regex - 查找缺少 0 的电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29415783/