Làm thế nào để các biểu thức chính quy của cơ sở dữ liệu MySQL khớp với nhau? MySQL regexp như cách sử dụng

Cơ sở dữ liệu MySQLLàm thế nào để biểu thức chính quy khớp?MySQL regexp như cách sử dụng

Biểu thức chính quy MySQL

Trong các chương trước, chúng ta đã biết rằng MySQL có thể vượt qua THÍCH...% đối với kết hợp mờ.

MySQL cũng hỗ trợ đối sánh các biểu thức chính quy khác. Toán tử REGEXP được sử dụng trong MySQL để đối sánh biểu thức chính quy.

Nếu bạn biết PHP hoặc Perl, nó khá đơn giản, vì đối sánh biểu thức chính quy của MySQL tương tự như đối sánh của các tập lệnh này.

Các mẫu thông thường trong bảng sau có thể được áp dụng cho toán tử REGEXP.

Chế độ描述
^Khớp với phần đầu của chuỗi đầu vào.^ cũng khớp với vị trí sau '\n' hoặc '\r' nếu thuộc tính Multiline của đối tượng RegExp được đặt.
$Khớp với phần cuối của chuỗi đầu vào.Nếu thuộc tính Multiline của đối tượng RegExp được đặt, thì $ cũng khớp với vị trí trước '\n' hoặc '\r'.
.Khớp với bất kỳ ký tự đơn nào ngoại trừ "\n".Để khớp với bất kỳ ký tự nào kể cả '\n', hãy sử dụng mẫu như '[.\n]'.
[...]bộ sưu tập các ký tự.Khớp với bất kỳ một trong các ký tự được chứa.Ví dụ: '[abc]' sẽ khớp với "plai'a' trong n".
[^…]Bộ ký tự tiêu cực.Khớp với bất kỳ ký tự nào không có trong đó.Ví dụ: '[^abc]' sẽ khớp với 'p' trong "plain".
p1 | p2 | p3Khớp với p1 hoặc p2 hoặc p3.Ví dụ: 'z|food' sẽ khớp với "z" hoặc "food". '(z|f)ood' khớp với "zood" hoặc "food".
*So khớp với biểu thức con trước 0 hoặc nhiều lần.Ví dụ: zo* sẽ khớp với "z" cũng như "zoo". * tương đương với {XNUMX,}.
+So khớp với biểu thức con trước đó một hoặc nhiều lần.Ví dụ: 'zo+' sẽ khớp với "zo" và "zoo", nhưng không khớp với "z". + tương đương với {1,}.
{N}n là số nguyên không âm.So khớp chính xác n lần.Ví dụ: 'o{2}' sẽ không khớp với 'o' trong "Bob" nhưng sẽ khớp với cả hai chữ o trong "food".
{n, m}Cả m và n đều là số nguyên không âm, trong đó n <= m.Ghép ít nhất n lần và nhiều nhất m lần.

Phiên bản

Sau khi hiểu các yêu cầu thông thường ở trên, chúng ta có thể viết các câu lệnh SQL với các biểu thức chính quy theo yêu cầu của riêng mình.Dưới đây, chúng tôi sẽ liệt kê một vài ví dụ nhỏ (tên bảng: person_tbl) để hiểu sâu hơn:

Tìm tất cả dữ liệu bắt đầu bằng 'st' trong trường tên:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

Tìm tất cả dữ liệu kết thúc bằng 'ok' trong trường tên:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

Tìm tất cả dữ liệu có chứa chuỗi 'mar' trong trường tên:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

Tìm tất cả dữ liệu trong trường tên bắt đầu bằng ký tự nguyên âm hoặc kết thúc bằng chuỗi 'ok':

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

Hy vọng Chen Weiliang Blog ( https://www.chenweiliang.com/ ) đã chia sẻ "Làm thế nào để khớp các biểu thức chính quy trong cơ sở dữ liệu MySQL? MySQL regexp like use "sẽ giúp bạn.

Chào mừng bạn đến chia sẻ liên kết của bài viết này:https://www.chenweiliang.com/cwl-492.html

Chào mừng bạn đến với kênh Telegram trên blog của Chen Weiliang để cập nhật những thông tin mới nhất!

🔔 Hãy là người đầu tiên nhận được "Hướng dẫn sử dụng Công cụ AI tiếp thị nội dung ChatGPT" có giá trị trong thư mục trên cùng của kênh! 🌟
📚 Hướng dẫn này chứa đựng giá trị to lớn, 🌟Đây là cơ hội hiếm có, đừng bỏ lỡ! ⏰⌛💨
Chia sẻ và thích nếu bạn thích!
Chia sẻ và thích của bạn là động lực không ngừng của chúng tôi!

 

发表 评论

Địa chỉ email của bạn sẽ không được công bố. 项 已 * 标注

cuộn lên trên cùng