2016-04-24 197 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