在MySQL中,RLIKE运算符用于确定字符串是否匹配正则表达式。它是REGEXP_LIKE()的同义词。

如果字符串与提供的正则表达式匹配,则结果为1,否则为0。

语法是这样的:

expr RLIKE pat

登录后复制

其中expr是输入字符串,pat是测试字符串的正则表达式。

例子

下面是一个如何在SELECT语句中使用这个运算符的例子:

SELECT 'Tweet' REGEXP '^Tw.*t$';

登录后复制

结果:

+--------------------------+
| 'Tweet' REGEXP '^Tw.*t$' |
+--------------------------+
|                        1 |
+--------------------------+

登录后复制

在这种情况下,返回值1表示输入字符串与正则表达式匹配。特别是,我们指定输入字符串应以Tw开头并以t结尾(这是因为我们启动了模式^Tw并使用t$结束)。该.部分指定任何字符,并*指定它对任意数量的那个(任何)字符可以为零。因此.*意味着在开始和结束之间不能有字符,一个字符或许多字符。

下面是如果我们去掉*会发生什么:

SELECT 'Tweet' REGEXP '^Tw.t$';

登录后复制

结果:

+-------------------------+
| 'Tweet' REGEXP '^Tw.t$' |
+-------------------------+
|                       0 |
+-------------------------+

登录后复制

返回结果0意味着不匹配。这是因为.只指定任何字符的一个实例。我们的输入字符串包含两个实例

SELECT 
  'Twet' REGEXP '^Tw.t$' AS 'Twet',
  'Twit' REGEXP '^Tw.t$' AS 'Twit',
  'Twt' REGEXP '^Tw.t$' AS 'Twt',
  'Tw.t' REGEXP '^Tw.t$' AS 'Tw.t';

登录后复制

结果:

+------+------+-----+------+
| Twet | Twit | Twt | Tw.t |
+------+------+-----+------+
|    1 |    1 |   0 |    1 |
+------+------+-----+------+

登录后复制

相关推荐:《mysql教程》

以上就是MySQL中RLIKE运算符的使用详解的详细内容,更多请关注风君子博客其它相关文章!