MySQL正则表达式在字符串的开头排除某个文字?

时间:2011-10-06 16:05:24

标签: mysql regex

我想匹配所有“X加入你的网络”字符串,X是任意字符串,除非以“RE:”开头。所以我想排除“RE:X加入你的网络”类型的字符串。

我试过

^[^R][^E][^.:.].+ joined your network$

^[^.RE:.].+ joined your network$

^[^(RE\\:)].+ joined your network$

但这些似乎都不正确(使用带有latin1字符集的MySQL 5.1)。这个的正确表达是什么?

2 个答案:

答案 0 :(得分:3)

你需要

SELECT * FROM table WHERE 
    table.field NOT LIKE "RE:%" AND table.field LIKE "%joined your network"

MySQL不区分大小写,所以你会抓住RE:Re:和re:

答案 1 :(得分:0)

以下查询将帮助您从表格中检索所有结果。

在这里,我在查询中使用 REGEXP 表达式来匹配模式。

我们知道MySQL不区分大小写,因此 RE re 相同。

SELECT * FROM table_name 
WHERE column_name NOT REGEXP '^[RE]' 
AND 
column_name REGEXP '(joined your network)$';