2014-09-28 56 views
0

我似乎無法得到以下搜索查詢在phpMyadmin中工作。SQL查詢中的正則表達式問題

SELECT * FROM `my_table` WHERE `content` REGEXP 'https?\:\/\/(.*?(?<!cgi\.)ebay)'; 

以下是錯誤,我得到:http://regex101.com/r/qN2jX4/1

+0

這是怎麼回事'SELECT * FROM'my_table' WHERE'content' LIKE'http%ebay';' – hd1 2014-09-28 23:39:51

+0

沒有結果。 ebay鏈接必須是除cgi.ebay – Yevgen 2014-09-28 23:53:58

+0

以外的任何東西'SELECT * FROM my_table WHERE content not LIKE'%cgi.ebay%''? – hd1 2014-09-28 23:58:00

回答

2

的:

#1139 - Got error 'repetition-operator operand invalid' from regexp 

當我創造它,不知道是什麼問題,在這裏看到的正則表達式本身工作完全正常.*?看起來像?<一樣可疑。刪除多餘的?修正錯誤:

WHERE `content` REGEXP 'https?\:\/\/(.*(<!cgi\.)ebay)'; 

這或許你想要做什麼。

+0

好,嘗試了不同的事情,很高興看到解決方案。 – radar 2014-09-29 03:31:43

+0

謝謝,這停止給我一個錯誤,但給出0結果。我無法弄清楚什麼是錯誤的,因爲我確定我有很多網址,看起來像www.ebay和更多非cgi。 – Yevgen 2014-09-29 04:47:17

+0

我做了一些更多的研究,並且讀到MySQL可能沒有否定運算符「?!」 ?無論如何,我嘗試了另一個選項,但它也會移除諸如i.ebay.com或任何帶有一個thaaa字母的網址,而不是實際的完整短語:REGEXP'https?\:\/\/[^(cgi | mobile)] * \。ebay' – Yevgen 2014-09-29 05:25:24