首页 > 解决方案 > 正则表达式查找忽略所有非数字字符的数字

问题描述

保存的字符串:(123) 456-78-90
搜索词:34567

我需要什么 reg 表达式才能找到匹配项。试过:

/3.*4.*5.*6.*7/


但是,如果搜索词是34569,它仍然会找到错误的匹配项。

我需要正则表达式以给定顺序查找数字,但忽略这些数字之间的所有数字,如括号、空格或破折号。

谢谢

标签: phpregex

解决方案


为什么不只是删除非数字字符然后搜索:

$input = "(123) 456-78-90";
$input = preg_replace("/[^0-9]+/", "", $input);
if (strpos($input, '34567') !== false) {
    echo 'match';
}

演示


推荐阅读