如何使这个正则表达式模式在phpMyAdmin中工作

时间:2016-12-06 15:07:45

标签: php mysql regex phpmyadmin

我有以下正则表达式:

[^A-Z0-9\.\s\%\$\/\-\+]

我在PHP中使用它如下所示:

preg_match("/[^A-Z0-9\.\s\%\$\/\-\+]/", $input_line, $output_array);

但是当我尝试在phpMyAdmin中使用相同的正则表达式时,我会收到错误,或者它没有按预期工作。

我应该如何更改它以使其在MySQL语法中工作?

2 个答案:

答案 0 :(得分:1)

尝试使用此用户发布的内容:

SELECT * FROM person WHERE name not REGEXP '[0-9]'

从这里Regular expressions in Mysql/phpmyadmin

phpmyadmin会使用数据库语法而不是php代码,例如:

PHP语法(如何在PHP中使用正则表达式)

$regex = "/[^A-Z0-9\.\s\%\$\/\-\+]/"; preg_match($regex, $input_line, $output_array);

SQL语法(用于查询MySQL数据库的SQL数据库)

SELECT * FROM person WHERE name not REGEXP '[0-9]'

答案 1 :(得分:0)

MySQL的regexp没有实现

\s(以及其他几个\个东西)。取而代之的是使用[:SPACE:]