我有:


值为stringwww.facebook.com
值为allowed_domain的列facebook.com


我尝试查看域字符串(具有子域)是否与列(无子域)匹配,如下所示:

SELECT * FROM MyTable
   WHERE 'www.facebook.com' REGEXP '^([a-zA-Z0-9]+\.)*' + allowed_domain + '$'


字符串“ www.facebook.com”是从我的实际代码中的referrer中提取的。

You can see the regexp I'm using in action here

我的问题是正则表达式在MySql中不匹配。它出什么问题了?

最佳答案

在此处找到解决方案:Using Columns in a RegExp in MySQL。我需要像这样将单个字符串对象发送到regexp中:

REGEXP concat('^([a-zA-Z0-9]+\.)*', domain, '$')

10-05 21:19
查看更多