我在使用 MYSQL 中的正则匹配域名时,出现了错误:
[Err] 1139 - Got error 'repetition-operator operand invalid' from regexp
正则表达式是:
WHERE lt_sh_a_graph.rvalue REGEXP "^(www.)?(?:a-zA-Z0-9.)[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$"
该正则用于匹配 二级域名或者带 www 的三级域名
例如
而其他的则过滤掉
请问这个错误应该怎么处理?
1
ltux 2017-03-05 20:14:52 +08:00
1, mysql 的正则表达式不支持 non-capturing group (?:XYZ) 这种语法
2, 即使去掉 ?:,你的正则表达式依旧不对。给你个参考: ^(www\.)?([a-z0-9]+(-[a-z0-9]+)*\.)[a-z]{2,}$ |