2016-04-24 191 views
2

根據mysql regex我們可以使用的[[:space:]]*代替\s* 所以我有這個疑問空白正則表達式

select * from onet.tools_and_technology where t2_example Rlike '[[:space:]]*C++[[:space:]]*'; 

,但它給了我這個錯誤

錯誤代碼:1139遇到錯誤'重複運算符操作數無效' 正則表達式

我在這裏錯過了什麼?

+0

如果你想匹配'C++''字面意思 – rock321987

+0

對不起,請告訴你,但它給出了相同的錯誤 –

+1

C++這裏是一種編程語言,如果你不知道我的意思在查詢中 –

回答

3

+字符類似於正則表達式中的*字符:它們是元字符。

您需要用\轉義每個字符。因爲你在一個字符串的工作,你需要躲避逃生:'[[:space:]]*C\\+\\+[[:space:]]*'


您的問題,可以在不正規表達式來解決,但:LIKE '% c++ %'

這是更具可讀性。

+0

你好,我知道,但一些技能不需要空間,其中一些需要它,所以我用正則表達式來滿足這兩種情況 –

+1

@Abeerzaroor呃,實際上沒有任何理由甚至不包括在這種情況下的空間... – Laurel