在字符串中找到http://,其中没有空格

时间:2015-04-13 10:50:09

标签: mysql regex

我正在寻找MySQL的正则表达式,它将找到以下行:

将匹配: this is texthttp:// and no space before http

赢得不匹配 this is text http:// but has a space so is happy

我试过了WHERE message REGEXP '[\s]http:',由于某些原因,我找到了一些,但我知道并非所有的实例。感谢

1 个答案:

答案 0 :(得分:2)

匹配包含'非空格' http://之前的字符:

regexp '[^[:space:]]http://';

请参阅mysql regexp documentation

mysql> select * from test;
+------------------+
| s                |
+------------------+
| texthttp://text  |
| http://text      |
| text http://text |
| texthttp://      |
| text http://     |
+------------------+
5 rows in set (0.00 sec)

mysql> select * from test where s regexp '[^[:space:]]http://';
+-----------------+
| s               |
+-----------------+
| texthttp://text |
| texthttp://     |
+-----------------+
2 rows in set (0.00 sec)

Regular expression visualization

SQLFiddle