2013-02-27 48 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应该只是罚款你需要什么,快于正则表达式(和更容易阅读/维护)。

相关问题