我在 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

最佳答案

看起来您需要匹配甚至少于 11 个符号。
您可以使用 (?<=,)\b[1-9][0-9 ]{3}[ 0-9]{6,} regex 来获取您的电话号码。

这些行是匹配的:

  • 01,Mrs,Sue,Mac,Female, 1702 11000 ,07961111111,23/4/1958
  • 04,,Batman,Smith,,,,,,, 1389 111 111 ,079611111111,29/5/1958
  • 06,Mr.,Hulk,Briggs,Male,21, 7961111111 ,6/6/1958
  • 关于regex - 查找缺少 0 的电话号码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29415783/

    10-12 21:12