2013-05-20 30 views
-6

我有一个表CANDIDATE在我的数据库中运行在MySQL 5.5下,我试图从表中获取xy包含在名字中的行,所以我可以运行低于两个查询REGEXP中'+'和'*'操作模式之间的区别

SELECT FIRSTNAME FROM candidate WHERE FIRSTNAME REGEXP '^xy.+'; 
SELECT FIRSTNAME FROM candidate WHERE FIRSTNAME REGEXP '^xy.*'; 

我得到相同的结果,所以想要在这两个REGEXP中获得差异。

+3

http://www.regular-expressions.info/ – Oded

回答

2

+导致产生的RE匹配1个或多个前面的RE的重复。 ab +将与'a'匹配,后跟任何非零数字的'b';它不会仅仅匹配'a'。
*导致产生的RE匹配前面的RE的0个或更多个重复,尽可能多的重复。 ab *将匹配'a','ab'或'a',后跟任意数量的'b'。

3

+意味着一个或更多,*意味着零个或多个

+0

表示元素的计数。你能解释一下吗? –

+0

它告诉你之前的元素,在你的例子中匹配任何字符运算符'.' – mogul

+0

好的谢谢。现在好了@mogul –

4

*或多个前面的元素的。

+一个或更多前面的元素。

1

一个*对应于“一”零个或更多次数

重复一个+对应于“一”一个或一个以上的次数

1

如此反复想在这些差异两个REGEXP。

将名称'xy'添加到您的数据库中。

相关问题