2013-02-27 62 views
1

我試圖做一個正則表達式匹配MySQL查詢(實際上,它MariaDB)一個表,以查找包含字符串「!Mutex」或文件夾以大寫「M」結尾。查詢一個表,找到A或B使用REGEX

因此,如果該單元格包含以下路徑。

 
------------- 
|Path_Folder| 
------------------------------------------------------- 
|E:\folder01\folder01\folder03\!Mutex\folder05  | 
|E:\folder01\folder01\folder03\folder4\!Mutex\folder06| 
|E:\folder01\folder01\folder03\folder04\folderM  | 
------------------------------------------------------- 

我不想試圖在任何地方移植這個(沒有PHP),只是試圖找到結果。

+0

爲什麼正常的SQL'LIKE'可以完成這項工作時的正則表達式? 'WHERE(Path_Folder LIKE'%!Mutex%')或者(Path_Folder LIKE'%M')'應該可以正常工作,並且比正則表達式更快(並且更易於讀取/維護)。 – 2013-02-27 23:32:07

+0

工作!謝謝! – 2013-02-27 23:36:23

+0

我發佈了它作爲答案,因爲它似乎適用於您試圖解決的實際問題。 :-) – 2013-02-27 23:59:14

回答

1

我知道你問了一個正則表達式的解決方案,但有時候這不是答案。 :-)

您可以使用普通的SQL LIKE表達式來執行此操作。

SELECT 
    Path_Folder 
FROM 
    Your_Table 
WHERE 
    (Path_Folder LIKE '%!Mutex%') 
OR 
    (Path_Folder LIKE '%M') 

一個LIKE應該只是罰款你需要什麼,快於正則表達式(和更容易閱讀/維護)。

相關問題