正则表达式匹配电话号码中相同的重复数字

时间:2017-12-11 02:34:24

标签: php mysql preg-match

很抱歉,标题不够具有描述性。我在mysql数据库中有一堆电话号码。不知道是否有查询要执行此操作或更好地使用类似preg_match和PHP的内容。但我需要使用这样的模式进行搜索:

以XXXX结尾 要么 包含4XXX

X表示相同的数字。因此,如果我用XXXX搜索Ends,我正在寻找任何数字:

671-0000

421-5555

789-1111

如果我搜索包含4XXX,那么我正在寻找任何这样的数字:

345-4111

156-4777

出于某种原因,我无法将我的大脑包裹起来。看起来很容易。有人可以帮忙吗?欣赏它!

1 个答案:

答案 0 :(得分:0)

这里NXXX模式最简单的表达式是:

\d(\d)\1{2}

如果你正在使用的正则表达式引擎支持\1的那种反向跟踪,它引用(\d)点中恰好出现的任何数字,那么这应该有效{{3} }。

你也可以适应XXXX模式:

(\d)\1{3}

在第一个之后的三个重复,相同的数字。