2013-04-02 51 views
-1

我试图寻找所有以字母D开头的字符串,在我的mysql查询中我有这个。mysql正则表达式

REGEXP '^[D]{4}$' 

问题是它返回一切什么恒星与D和结束与D太。

例如:

DDD 123 - true 
D 123 - true 
DDDD 1234 - true 

SSS 123 D - returns true, but should be false. 

任何想法,我缺少的是什么?

回答

2

“......对于以字母d开头的所有字符串”

你可以简单地做它用LIKE

WHERE columnName LIKE 'D%' 

或正则表达式这种模式。

WHERE columnName REGEXP '^D.*' 
+0

耶但不幸的是我真的需要使用正则表达式。需要它通过我的数据库中的车牌搜索 –

+1

'^ [D] {4} $'不会匹配任何东西,对吧?因为它寻找'DDDD'。看这里。 http://www.sqlfiddle.com/#!2/8b59d/4 –

+1

只有当您实际上包含多个字符时,才需要设置括号“[...]”。 '[D]'与'D'相同。 – tadman

0
select * from tablename where columnname RLIKE '^D' 

select * from tablename where columnname REGEXP '^D'