根据正则表达式模式选择不同的记录

时间:2012-10-26 19:15:41

标签: mysql

我有一个带域名的数据库。 我需要提取域后缀并创建这些后缀的列表。 (.com,.net,.org ...)

我发现regexp模式可能对我有帮助。我唯一不能做的是根据模式+唯一性过滤这些域,以获得我的列表。

这是我的疑问:
$qry="select * from domain where domain_name REGEXP '[[.period.]][a-z]+'";

我该如何为其添加独特标准? 谢谢。

更新:
这是工作查询:
SELECT DISTINCT SUBSTRING_INDEX(domain_name, '.', -1) FROM domains WHERE domain_name REGEXP '[[.period.]][a-z]+'

1 个答案:

答案 0 :(得分:3)

MySQL没有使用正则表达式替换的构造,也没有访问匹配组的构造。所以正则表达式可能对你没用。也许SUBSTRING_INDEX函数对您更有用,因为您可以使用它来在最终点之后提取零件,使用

SUBSTRING_INDEX(domain_name, '.', -1) AS tld