Php 将PCRE正则表达式转换为mysql查询正则表达式
我有下面的正则表达式Php 将PCRE正则表达式转换为mysql查询正则表达式,php,mysql,regex,Php,Mysql,Regex,我有下面的正则表达式 ^(?!\d+$)(?!(?:[^$&%@]*[$&%@]){4})(?!.*\b\w{11}).{3,}$ 它在PHP中运行良好 我想把它转换成MySQL支持的查询。当我在正则表达式上面运行时。我从reg exp获得错误“重复运算符操作数无效” 请帮助解决此问题MySQL不支持lookarounds,也不支持\d或\w类。您可以这样拆分正则表达式: SELECT * FROM table WHERE col REGEXP '^.{3,}$' AND co
^(?!\d+$)(?!(?:[^$&%@]*[$&%@]){4})(?!.*\b\w{11}).{3,}$
它在PHP中运行良好
我想把它转换成MySQL支持的查询。当我在正则表达式上面运行时。我从reg exp获得错误“重复运算符操作数无效”
请帮助解决此问题MySQL不支持lookarounds,也不支持
\d
或\w
类。您可以这样拆分正则表达式:
SELECT * FROM table WHERE col REGEXP '^.{3,}$' AND col NOT REGEXP '^[0-9]+$' AND col NOT REGEXP '([^$&%@]*[$&%@]){4}' AND col NOT REGEXP '[[:<:]][[:alnum:]_]{11}'
从表中选择*,其中col REGEXP'^.{3,}$'和col NOT REGEXP'^[0-9]+$'和col NOT REGEXP'([^$&%@]*[$&%@]){4}'和col NOT REGEXP'[[:MySQL不支持lookarounds,也不支持\d
或\w
类。您可以这样拆分正则表达式:
SELECT * FROM table WHERE col REGEXP '^.{3,}$' AND col NOT REGEXP '^[0-9]+$' AND col NOT REGEXP '([^$&%@]*[$&%@]){4}' AND col NOT REGEXP '[[:<:]][[:alnum:]_]{11}'
SELECT*从col REGEXP'^.{3,}$'和col NOT REGEXP'^[0-9]+$'和col NOT REGEXP'([^$&%@]*[$&%@]){4}和col NOT REGEXP'[[:解决方法是使用类似preg的MySQL UDF库,它的REGEXP比本机MySQL自己的库更复杂
您可以在下面的链接中键入上面的内容,以获得将直接与udf一起工作的表达式的Perl版本
解决方法是使用类似preg的MySQL UDF库,该库的REGEXP比本机MySQL的更复杂
您可以在下面的链接中键入上面的内容,以获得将直接与udf一起工作的表达式的Perl版本
类似于WHERE col REGEXP'^.{3,}$'和col NOT REGEXP'^[0-9]+$'和col NOT REGEXP'([^$&%*[$&%@]){4}'和col NOT REGEXP'[[:类似于WHERE col REGEXP'^.{3,}$'和col NOT REGEXP'^[0-9]+$'和col NOT REGEXP REGEXP'([^$&%*.[$&%*.[$&%]*.[$&%]){4}和col NOT REGEXP REGEXP[你是最好的。我推荐你你是最好的