我有这个正则表达式,但是当尝试在mysql查询语句中使用它时,却收到SQL错误[1139] [42000]:从正则表达式中得到了错误“重复操作符操作数无效”
^((?!\.).)*.id$
从Stackoverflow挖掘后,我得到了有关mysql regex不支持带问号(?)的运算符的信息。
如何使其在mysql中工作?
我的目标是使用.ID TLD过滤域名。 当我使用“ end-with”方法时,以.id而不是.id结尾的域出现问题,它可能是.web.id,.co.id,.or.id等。
答案 0 :(得分:1)
如果只希望在结尾加上“ .id”的字符串而没有“。”在此之前,但要在“。”之前租用一个字符,您可以尝试匹配整个字符串并使用否定的字符类:
...
nmuloc REGEXP '^[^\.]+\.id$'
...
如果在“。”之前为空字符串。可以,您可以将+
量词更改为*
。