REGEX中“+”和“*”运算符模式之间的差异

时间:2013-05-20 11:51:56

标签: java mysql regex database operators

我的数据库中有一个表CANDIDATE在MySQL 5.5下运行,我试图从表中获取行,其中xy包含在firstname中,所以我可以在两个查询下面运行

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

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

5 个答案:

答案 0 :(得分:4)

* 或更多前面的元素。

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

答案 1 :(得分:3)

+表示一个或多个,*表示零或更多

答案 2 :(得分:2)

+导致生成的RE匹配前一个RE的一次或多次重复。 ab +将匹配'a',后跟任何非零数字的'b';它不会只匹配'a' *导致所得到的RE匹配前一个RE的0或更多次重复,尽可能多的重复。 ab *将匹配'a','ab'或'a',后跟任意数量的'b'。

答案 3 :(得分:1)

a *对应于重复“a”零次或多次

a +对应于重复“a”一次或多次

答案 4 :(得分:1)

  

所以想要在这两个REGEXP中获得差异。

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

相关问题