2012-09-22 76 views
0
Stringy: 5/5 
Stringy : 3/5 
3/5 Stringy 

我想在一個字符串匹配兩個前導空格,或者忽略它,如果沒有找到。我已經試過:MySQL的REGEXP匹配兩個空格或沒有

SELECT * 
FROM testtable 
WHERE `file` REGEXP '()Stringy(: | :)' 

這不返回任何行雖然

是否有可能做到這一點?

+0

只是爲了澄清:你很好,你只會得到與REGEXP/RLIKE布爾結果? –

回答

1

您需要轉義在正則表達式中具有特殊含義的字符,如括號(,)

具有兩個前導空格示例:

SELECT " Stringy: 3/5" REGEXP '[ ]{2}Stringy(: | :)'; 
## 1 
SELECT " Stringy : 3/5" REGEXP '[ ]{2}Stringy(: | :)'; 
## 1 

和最多兩個前導空格的:

SELECT "Stringy : 3/5" REGEXP '[ ]{0,2}Stringy(: | :)'; 
## 1 

又見

+0

感謝您的解釋 – Norse