正则表达式在MySQL中被误解

时间:2014-09-12 06:40:08

标签: mysql sql regex

我创建了以下正则表达式:^C_WEBSHOP_(?!_UL)我尝试将字段与其匹配,但以下关键字似乎都不起作用:REGEXP_LIKEREGEXREGEXPLIKERLIKE。脚本停止执行。有什么想法吗?

我正在尝试REGEXP_LIKE(table_name,'^C_WEBSHOP_(?!_UL)')table_name REGEXP '^C_WEBSHOP_(?!_UL)'

错误讯息:Got error 'repetition-operator operand invalid' from regexp

2 个答案:

答案 0 :(得分:0)

好的,这个错误的原因是MySQL还不支持正则表达式中的负向前瞻。唯一的解决方法是查询所有内容并使用PHP过滤它。

答案 1 :(得分:0)

当然,在引用之后你需要参数化查询或mysql_real_escape_string,以阻止反斜杠被误解为MySQL的非ANSI标准字符串文字转义。