-7

MySQL 5.5で実行されているデータベースにCANDIDATEテーブルがあり、名前にxyが含まれているテーブルから行を取得しようとしているため、2つのクエリの下で実行できます

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

私は同じ結果を取得しているので、これら 2 つの REGEXP の違いを取得したいと考えています。

4

5 に答える 5

4

* 0個以上の前の要素。

+ 前の要素の1つ以上。

于 2013-05-20T11:53:19.847 に答える
3

+1 つ以上を*意味し、0以上を意味します

于 2013-05-20T11:53:02.483 に答える
2

+結果の RE が前の RE の 1 回以上の繰り返しに一致するようにします。ab+ は、'a' の後に 0 以外の数の 'b' が続くものと一致します。'a' だけでは一致しません。
*結果の RE が、前の RE の 0 回以上の繰り返しに一致するようにします。可能な限り繰り返します。ab* は、'a'、'ab'、または 'a' の後に任意の数の 'b' が続くものと一致します。

于 2013-05-20T11:54:26.537 に答える
1

これら2つのREGEXPの違いを取得したい.

データベースに「xy」という名前を追加します。

于 2013-05-20T12:40:07.547 に答える
1

a* は、「a」の 0 回以上の繰り返しに対応します。

a+ は、「a」の 1 回以上の繰り返しに対応します。

于 2013-05-20T11:55:57.250 に答える