MySQL正则表达式验证字段值是域或子域

时间:2014-09-08 12:51:41

标签: mysql regex mysql-5.5

我正在尝试将域名列表从旧系统转移到新系统。

问题是旧数据库中的数据被用作参考并包含其他信息,但新系统将与cpanel集成,因此域必须正确。

我正在尝试自动导入符合我要求的旧数据,并将手动导入留出约4%的数据。

我使用了正则表达式来实现这一点,但由于某些原因它没有按照我的预期工作。

这是我使用的条件:

`domain` REGEXP '^[\.A-Za-z0-9\-]+\\.[a-zA-Z]{2,4}$' = 1

它正确地将以下内容标识为无效:

https://test-1.example.com:8443/login_up.php3
118.18.187.15

但是没有成功:

the-example.com mchannel
example.com NEW

我非常了解正则表达式,但我无法弄清楚为什么在这种情况下它不起作用。

小提琴网址:http://sqlfiddle.com/#!2/a9d70/5

应该验证的内容:http://www.regexr.com/39f4v

1 个答案:

答案 0 :(得分:0)

这个正则表达式应该匹配第一个正则表达式和ips

的所有内容
[[:<:]][\.A-Za-z0-9\-]+\.[a-zA-Z]{2,4}[[:>:]]|[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+