Tutorial manual...login
Tutorial manual terbaru MySQL
pengarang:php.cn  masa kemas kini:2022-04-15 14:04:12

ungkapan biasa MySQL


Ekspresi biasa MySQL

Dalam bab sebelumnya kita telah mengetahui bahawa MySQL boleh lulus LIKE...% untuk melakukan padanan kabur.

MySQL juga menyokong pemadanan ungkapan biasa yang lain MySQL menggunakan operator REGEXP untuk pemadanan ungkapan biasa.

Jika anda tahu PHP atau Perl, ia sangat mudah dilakukan kerana pemadanan ungkapan biasa MySQL adalah serupa dengan skrip ini.

Corak biasa dalam jadual di bawah boleh digunakan pada pengendali REGEXP.

模式描述
^匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 'n' 或 'r' 之后的位置。
$匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 'n' 或 'r' 之前的位置。
.匹配除 "n" 之外的任何单个字符。要匹配包括 'n' 在内的任何字符,请使用象 '[.n]' 的模式。
[...]字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。
[^...]负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。
p1|p2|p3匹配 p1 或 p2 或 p3。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。
*匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
+匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
{n}n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。
{n,m}m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。

Contoh

Setelah memahami keperluan ungkapan biasa di atas, kita boleh menulis pernyataan SQL dengan ungkapan biasa mengikut keperluan kita sendiri. Di bawah kami akan menyenaraikan beberapa contoh kecil (nama jadual: person_tbl) untuk memperdalam pemahaman kami:

Cari semua data bermula dengan 'st' dalam medan nama:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
mencari semua data yang berakhir dengan 'ok' dalam medan nama:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
mencari semua data yang mengandungi rentetan 'mar' dalam medan nama:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
mencari semua data dalam medan nama yang bermula dengan aksara vokal dan berakhir dengan rentetan 'ok':
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

Cadangan tutorial video berkaitan:


Laman web PHP Cina