2016-04-29 85 views
0

之間的區別我有找到我的網站外部鏈接的正則表達式,它在PHP中正常工作:的MySQL(的phpMyAdmin)REGEXP,PHP

((http|https):\/\/(?!siteurl.com)[\w\.\/\-=?#]+)

現在我想用它在phpMyAdmin在搜索選項卡搜索整個數據庫。它不起作用。 PHP和MySQL REGEXP有什麼不同嗎?我的正則表達式中應該更改哪些內容以使其在PHPMyAdmin中可用?

+0

MySQL的正則表達式不支持反向引用或前瞻 – rock321987

+0

http://dev.mysql.com/doc/refman/ 5.1/en/regexp.html#operator_regexp – thegio

+0

所以這可能很難使這個正則表達式在MySQL中的工作是一樣的......但是這可能嗎? –

回答

2
WHERE url  REGEXP '^https?://' 
    AND url NOT REGEXP '^https?://siteurl.com' 

爲什麼要檢查//之後的東西?如果你需要,請注意,MySQL不處理\w\d,所以你需要像[-[:alpha:]./=?#]+這樣的東西。 \w本身是[[:alpha:]]; \d[[:digit:]]Reference

+0

當你在PHPmyAdmin中使用搜索時(在整個數據庫中),不可能創建WHERE/AND,只有正則表達式選項,所以它必須在一個表達式中... –

+0

從UI學習你自己,學會如何使用mysql命令行工具。 –

0

使用這些模式:

\d[a-zA-Z0-9_]

\w[0-9]