在任何地方匹配数字开头的正则表达式

时间:2014-08-08 15:54:04

标签: php regex

我有一个问题,我需要匹配(号码电话)的正则表达式,任何以06或6开头且等于或长于7个字符的数字,并且需要在句子中的任何位置进行匹配。

到目前为止,我已经得到了这个:

(^(06|6).+.{5})

它与我的大部分内容相匹配,例如:

065 123 456,   
065123456,
65123456

等等,我的问题是我也需要匹配它,即使在数字ex之前有文本:test 065123456(或者我已写过的任何一种情况)。

总结:问题在于我不知道如何匹配单词(或以06或6开头的数字之前的任何内容),然后是以06或6开头的数字。

3 个答案:

答案 0 :(得分:0)

请勿在图案中使用插入符号(^)。该模式可以简化为:

(0?6\d{6})

答案 1 :(得分:0)

lookbehind可以断言06之前没有数字:

((?<!\d)0?6 rest of regex here)

答案 2 :(得分:0)

以下内容将匹配以0或06开头,后跟至少6个其他数字或空格的数字:

((?<!\d)0?6[\d| ]{6,})

我不确定如何匹配至少6个数字,其中散布着我头顶的任意数量的空格,但是......