从我的正则表达式中得到了错误“重复运算符操作数无效”

时间:2019-08-03 19:12:24

标签: mysql sql regex

我有这个正则表达式,但是当尝试在mysql查询语句中使用它时,却收到SQL错误[1139] [42000]:从正则表达式中得到了错误“重复操作符操作数无效”

^((?!\.).)*.id$

从Stackoverflow挖掘后,我得到了有关mysql regex不支持带问号(?)的运算符的信息。

如何使其在mysql中工作?

我的目标是使用.ID TLD过滤域名。 当我使用“ end-with”方法时,以.id而不是.id结尾的域出现问题,它可能是.web.id,.co.id,.or.id等。

1 个答案:

答案 0 :(得分:1)

如果只希望在结尾加上“ .id”的字符串而没有“。”在此之前,但要在“。”之前租用一个字符,您可以尝试匹配整个字符串并使用否定的字符类:

...
nmuloc REGEXP '^[^\.]+\.id$'
...

如果在“。”之前为空字符串。可以,您可以将+量词更改为*