RegEx用于捕获字符串中的数字(PHP)

时间:2019-06-02 15:39:59

标签: php regex regex-group regex-greedy regex-alternation

我要提取作业号并将其与mysql数据库中的数据进行匹配,然后检索匹配的数据。

如果我的工作编号是123456,那么它匹配得很好,我得到了结果。 有些是123-456,有些是12-text,有些是12-text-345

$variable = $variable

我尝试匹配变量,但这是无效的。 我试图在PHPMyAdmin中更改SQL,但在那儿甚至无法正常工作。 我用谷歌搜索,认为我应该使用RegExp。我试过了。我可以添加一个斜杠并使它适用于单个项目,但是,我不知道连字符在大量数组中的位置。它可能是第三个或第四个字符。 我尝试了pregmatch,但我不认为我在做什么。 我正在寻找几行代码来分析PHP变量,并检测和转义任何元字符(如果有)。教程链接也很好,谢谢您的帮助

1 个答案:

答案 0 :(得分:0)

在这里,如果我们只想获取数字,那么将是在一个捕获组中收集我们的数字,然后收集其他所有内容,然后仅用$1替换,其表达式类似于: / p>

(\d+)|\D+

测试

$re = '/(\d+)|\D+/m';
$str = 'text-12-text-345';
$subst = '$1';

$result = preg_replace($re, $subst, $str);

echo $result;

输出

12345

DEMO