用于捕获字符串中数字的正则表达式 (PHP)

RegEx for capturing digits in a string (PHP)

我正在提取工作编号并将它们与 mysql 数据库中的数据进行匹配,然后检索匹配的数据。

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

$variable = $variable

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

在这里,如果我们只想获取数字,方法是在捕获组中收集我们的数字,然后收集其他所有内容,然后将其替换为 </code>,表达式类似于:</p> <pre><code>(\d+)|\D+

测试

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

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

echo $result;

输出

12345

DEMO