Regex là gì? 5+ biểu thức Regex ứng dụng ngay!

Regex là gì? Bạn có biết được những cú pháp và công dụng “thần thánh” Regex chưa? Hãy cùng Tino Group tìm ra câu trả lời nhé!

Regex là gì?

Regex (hoặc bạn cũng có thể viết là là RegEx) được viết tắt từ Common Expression, tạm dịch: biểu thức chính quy. Trường hợp là 1 lập trình viên, bạn sẽ siêu quen thuộc sở hữu việc dùng Regex để so khớp tổ hợp ký tự trong 1 chuỗi, dí dụ như: Số điện thoại, electronic mail hay url net,…

Mỗi ngôn ngữ lập trình sẽ có bí quyết mô tả biểu thức Regex khá khác nhau 1 ít. Tuy nhiên, điều này ko làm cho tác động tới hoạt động của Regex. Nên bạn chỉ cần nắm những tri thức cơ bản về Regex và tùy biến theo ngôn ngữ bạn dùng.

Có thể nói rằng, Regex được nhà toán học Stephen Cole Kleene thực hành mô tả lần trước tiên vào 5 1951 bằng bí quyết dùng những ký hiệu toán học. Bạn đầu, ông gọi là common occasions (sự kiện thường xuyên). Cho tới cuối thế kỉ 20, việc dùng Regex trong khoa học máy tính trở nên phổ biến hơn. Bạn có thể tham khảo thêm về lịch sử hình thành của Regex trên Wikipedia phiên bản tiếng Anh.

Xem Thêm  Dòng tiền thông minh đã làm cho gì trong những ngày giông bão của Binance

Ứng dụng của Regex trong việc so khớp

Đây là 1 trong những ứng dụng điển hình và được dùng nhiều bật nhất bởi những lập trình viên rồi. Những dí dụ điển hình bạn thường gặp như:

  • So khớp và đánh giá tính hợp lệ của E mail
  • So khớp và đánh giá tính hợp lệ của URL
  • So khớp và đánh giá tính hợp lệ của số điện thoại
  • So khớp những ký tự trong 1 chuỗi khởi đầu bằng a kết thúc bằng z
  • Và vô số trường hợp khác nữa.

Bạn có thể suy luận ra được rồi đúng ko: bạn có thể kiếm tìm và đánh giá bất cứ thứ gì sở hữu chuỗi miễn là chúng có 1 quy tắc rõ ràng.

Thí dụ: Bạn muốn tìm 1 chuỗi ký tự ngẫu nhiên khởi đầu bằng a kết thúc bằng z ở giữa có chữ số, bạn có thể viết 1 biểu thức Regex đơn giản như sau:

^a.*[0-9].*z$

Bạn nhập ngẫu nhiên 1 vài chuỗi vào, trong đấy, 2 chuỗi được phát hiện có chính xác những điều kiện: khởi đầu bằng a kết thúc bằng z ở giữa có chữ số là:

aDrgu3432z a8w38484z.

Ứng dụng của Regex trong việc kiếm tìm và thay thế

Có lẽ bạn cũng đã từng thao tác Ctrl + H trong Phrase để kiếm tìm 1 ký tự hay 1 từ nào đấy rồi đúng ko?

Giờ đây, bạn có thể Ctrl + H trong những phần mềm lập trình hài hòa sở hữu sức mạnh của Regex để việc kiếm tìm – thay thế của bạn trở nên dễ dàng hơn bao giờ hết.

Thí dụ, bạn có 1 loạt hyperlink như sau và bạn muốn chuyển đổi từ https://www.tên-miền.xxx thành <a href=”https://www.tên-miền.xxx”goal=”_blank”>tên-miền.xxx</a>. Lúc dùng if/else bạn sẽ mất siêu nhiều thời kì!

Tuy nhiên, sở hữu Regex bạn chỉ cần 2 dòng lệnh trong hộp thoại Discover and Exchange như sau:

  • Discover: (http://www.(+))
  • Exchange: <a href=”$1″ goal=”_blank”>$2></a>
Xem Thêm  TradingView là gì? Chỉ dẫn dùng TradingView (2023)

Kết quả bạn sẽ có được như trong ảnh. Thật quá đỗi tiện nghi và xuất sắc đúng ko nào!

Bạn có thể tiếp tục tùy biến thêm và thực hành những hoạt động như: Tách chuỗi, hài hòa sở hữu grep,… Nhằm giảm thiểu thời kì làm cho việc sở hữu nội dung hơn.

Ý nghĩa ký tự trong Regex

1 số siêu ký tự cơ bản

  • ^ Khởi đầu 1 chuỗi ký tự. Trường hợp dấu ^ xuất hiện tiếp nối phía sau dấu ngoặc vuông là phủ định những gì có bên trong ngoặc [^
  • $ Kết thúc một chuỗi ký tự
  • . Chọn mọi ký tự ngoại trừ n newline
  • | Phép tương đương
  • {…} Tập hợp ký tự
  • […] Tập hợp ký tự cần chính xác để khớp
  • (…) Tạo nhóm logic
  • * 0 hoặc nhiều hơn biểu thức trước đấy.
  • + 1 hoặc nhiều hơn biểu thức trước đấy.
  • ? 0 or 1 so sánh đúng tối thiểu 1 ký tự
  • / Dùng để khởi đầu hoặc kết thúc chuỗi
  • Dùng để tạo ra 1 ký tự thay thế đặc biệt thành ký tự thường và ngược lại. Bạn có thể tham khảo ảnh bên dưới để hiểu hơn.

1 số biểu thức thường thấy

  • a|b Trùng khớp sở hữu a hoặc trùng khớp sở hữu b
  • [0-9] TÌm kiếm trùng khớp sở hữu chữ số từ 0 tới 9
  • [a-z] Kiếm tìm miễn sao có trong khối ký tự từ a tới z
  • [abc] Trùng khớp sở hữu 1 trong 3 a, b, c
  • [^abc] Loại trừ khớp sở hữu 3 ký tự a, b và c

1 số biểu thức Regex mẫu để ứng dụng ngay

Việc dùng những biểu thức Regex có sẵn luôn là vấn đề được cùng đồng đem ra mổ xẻ đúng sai. Tôi ko ủng hộ phía nào, nhưng dùng những biểu thức Regex có mức độ phức tạp cao và đã được cùng đồng đánh giá cũng như sửa đổi sẽ phải chăng hơn so sở hữu việc đi viết lại từ đầu.

Xem Thêm  Bí quyết “chốt đơn” giá hời bằng bí quyết săn sale Shopee

Trường hợp bạn vừa khởi đầu và muốn thử nghiệp, ứng dụng cũng như thực hành. Những biểu thức Regex sẵn có sẽ là lựa chọn hoàn hảo cho bạn.

Trong phần này, Tino Group tổng hợp lại những biểu thức Regex sẵn có trên mạng từ nhiều nguồn để bạn có thể tham khảo.

Để thử nghiệm, bạn có thể dán biểu thức vào trang này và kiểm thử.

1 số biểu thức Regex ngắn gọn thường dùng

Biểu thức Regex so khớp số điện thoại ở Việt Nam

Biểu thức: +?(0|84)d{9}

Dùng để đánh giá số điện thoại khởi đầu bằng 0 hoặc 84 kèm 9 số cuối phía sau.

Biểu thức Regex so khớp tên riêng viết hoa

Biểu thức: (?:[A-Z]p{L}+ ){1,3}[A-Z]p{L}+

Dùng để kiếm tìm những tên riêng được viết hoa

Biểu thức Regex dùng để đánh giá thẻ HTML

Biểu thức: <[^>]*>

Dùng để đánh giá đóng mở ngoặc của những thẻ trong HTML.

1 số biểu thức so khớp phức tạp hơn

Biểu thức Regex so khớp URL

  • (http|ftp|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&amp;:/~+#]*[w-@?^=%&amp;/~+#])?
  • ^(http|https|ftp)://[a-zA-Z0-9-.]+.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9-._?,’/+&amp;%$#=~])*$
  • ((mailto:|(information|(ht|f)tp(s?))://){1}S+)
  • ^((https?|ftp|file)://)?([da-z.-]+).([a-z.]{2,6})([/w .-]*)*/?$

Biểu thức Regex so khớp E mail

  • ^([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$
  • ^w+[w-.]*@w+((-w+)|(w*)).[a-z]{2,3}$
  • ^.+@.+$
  • ^w+@[a-zA-Z_]+?.[a-zA-Z]{2,3}$
  • ^[w-.]+@([w-]+.)+[w-]{2,4}$

Qua bài viết, Tino Group đã giúp bạn có thể hiểu được về Regex là gì, tìm hiểu về ứng dụng cũng như 1 số biểu thức Regex mẫu để bạn có thể ứng dụng ngay. Tino Group mong bạn sẽ có thể dùng Regex thật phải chăng cho công việc và học tập của mình!

Bài viết có tham khảo nội dung từ Regexlib.com, Lập trình ko khó (nguyenvanhieu.vn),…

Những câu hỏi thường gặp về Regex

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO

  • Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Heart, Số 72 Lê Thánh Tôn, Phường Bến Nghé, Quận 1, Thành phố Hồ Chí MinhVăn phòng đại diện: 42 Trần Phú, Phường 4, Quận 5, Thành phố Hồ Chí Minh
  • Điện thoại: 0364 333 333Tổng đài miễn chi phí: 1800 6734
  • E mail: gross [email protected]
  • Web site: www.tino.org