Regex là gì? 5+ biểu thức Regex áp 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ừ Regular Expression, tạm dịch: biểu thức chính quy. Nếu là một lập trình viên, bạn sẽ rất quen thuộc với việc sử dụng Regex để so khớp tổ hợp ký tự trong một chuỗi, ví dụ như: Số điện thoại, email hay url web,…

regex-la-giMỗi ngôn từ lập trình sẽ có cách bộc lộ biểu thức Regex hơi khác nhau một chút ít. Tuy nhiên, điều này không làm ảnh hưởng tác động đến hoạt động giải trí của Regex. Nên bạn chỉ cần nắm những kỹ năng và kiến thức cơ bản về Regex và tùy biến theo ngôn từ bạn sử dụng .

Có thể nói rằng, Regex được nhà toán học Stephen Cole Kleene thực hiện mô tả lần đầu tiên vào năm 1951 bằng cách sử dụng các ký hiệu toán học. Bạn đầu, ông gọi là regular events (sự kiện thường xuyên). Cho đến cuối thế kỉ 20, việc sử 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.

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

Đây là một trong những ứng dụng nổi bật và được sử dụng nhiều bật nhất bởi những lập trình viên rồi. Các ví dụ nổi bật bạn thường gặp như :

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

Bạn hoàn toàn có thể suy luận ra được rồi đúng không : bạn hoàn toàn có thể tìm kiếm và kiểm tra bất kể thứ gì với chuỗi miễn là chúng có một quy tắc rõ ràng .

Ví dụ: Bạn muốn tìm một chuỗi ký tự ngẫu nhiên bắt đầu bằng a kết thúc bằng z ở giữa có chữ số, bạn có thể viết một 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 đó, 2 chuỗi được phát hiện có đúng mực những điều kiện kèm theo : mở màn bằng a kết thúc bằng z ở giữa có chữ số là :

aDrgu3432z a8w38484z.

Regex là gì? 5+ biểu thức Regex áp dụng ngay! 3
QUẢNG CÁOregex-la-gi

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

Có lẽ bạn cũng đã từng thao tác Ctrl + H trong Word để tìm kiếm một ký tự hay một từ nào đó rồi đúng không ?Giờ đây, bạn hoàn toàn có thể Ctrl + H trong những ứng dụng lập trình phối hợp với sức mạnh của Regex để việc tìm kiếm – sửa chữa thay thế của bạn trở nên thuận tiện hơn khi nào hết .regex-la-giVí dụ, bạn có một loạt link như sau và bạn muốn quy đổi từ https://www.tên-miền.xxx thành tên-miền. xxx. Khi sử dụng if / else bạn sẽ mất rất nhiều thời hạn !Tuy nhiên, với Regex bạn chỉ cần 2 dòng lệnh trong hộp thoại Find and Replace như sau :

  • Find: (http://www\.(+))
  • Replace: $2>

Kết quả bạn sẽ có được như trong ảnh. Thật quá đỗi tiện lợi và xuất sắc đúng không nào !regex-la-giBạn hoàn toàn có thể liên tục tùy biến thêm và thực thi những hoạt động giải trí như : Tách chuỗi, tích hợp với grep, … Nhằm giảm thiểu thời hạn thao tác với nội dung hơn .

Ý nghĩa ký tự trong Regex

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

  • ^ Bắt đầu một 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ự phải chính xác để khớp
  • (…) Tạo nhóm logic
  • * 0 hoặc nhiều hơn biểu thức trước đó.
  • + 1 hoặc nhiều hơn biểu thức trước đó.
  • ? 0 or 1 so sánh đúng tối thiểu 1 ký tự
  • / Dùng để bắt đầu hoặc kết thúc chuỗi
  • \ Dùng để tạo ra một 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.

regex-la-gi

Một số biểu thức thường thấy

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

Một số biểu thức Regex mẫu để áp dụng ngay

Việc sử dụng những biểu thức Regex có sẵn luôn là yếu tố được hội đồng đem ra phẫu thuật đúng sai. Tôi không ủng hộ phía nào, nhưng sử dụng những biểu thức Regex có mức độ phức tạp cao và đã được hội đồng nhìn nhận cũng như sửa đổi sẽ tốt hơn so với việc đi viết lại từ đầu .Nếu bạn vừa mở màn và muốn thử nghiệp, vận dụng cũng như thực hành thực tế. Những biểu thức Regex sẵn có sẽ là lựa chọn lý tưởng 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 hoàn toàn có thể tìm hiểu thêm .Để thử nghiệm, bạn hoàn toàn có thể dán biểu thức vào trang này và kiểm thử .regex-la-gi

Một 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}

Sử dụng để kiểm tra số điện thoại thông minh mở màn 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}+

Sử dụng để tìm kiếm những tên riêng được viết hoa

Biểu thức Regex dùng để kiểm tra thẻ HTML

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

Sử dụng để kiểm tra đóng mở ngoặc của những thẻ trong HTML .

Một 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\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?
  • ^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\’/\\\+&%\$#\=~])*$
  • ((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)
  • ^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$

regex-la-gi

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

  • ^([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}$

regex-la-giQua bài viết, Tino Group đã giúp bạn hoàn toàn có thể hiểu được về Regex là gì, tìm hiểu và khám phá về ứng dụng cũng như 1 số ít biểu thức Regex mẫu để bạn hoàn toàn có thể vận dụng ngay. Tino Group mong bạn sẽ hoàn toàn có thể sử dụng Regex thật tốt cho việc làm và học tập của mình !Bài viết có tìm hiểu thêm nội dung từ Regexlib. com, Lập trình không khó ( nguyenvanhieu.vn ), …

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

Học Regex ở đâu?

Nếu bạn muốn đào sâu hơn để khám phá về Regex, RegexLib. com sẽ là một nơi lý tưởng của bạn. Tại đây, bạn sẽ được ra mắt và bạn cũng hoàn toàn có thể tìm kiếm hầu hết những hướng dẫn để sử dụng Regex .

Nên lưu ý gì khi sử dụng Regex?

Khi bạn viết ra được một biểu thức Regex, điều tiên phong bạn cần làm là ghi chú lại biểu thức của bạn đang giải quyết và xử lý thứ gì và giải quyết và xử lý như thế nào. Đừng tin tuyệt đối vào trí nhớ của mình, chỉ ít lâu sau, bạn sẽ quên bén dòng biểu thức bạn viết ra có nghĩa là gì đấy ! Việc ghi chú sẽ vận dụng cho cả quy trình lập trình của bạn nữa .

Tìm hiểu hướng dẫn sử dụng Regex trong Google Analytics ở đâu?

Nếu bạn đang muốn sử dụng Regex để nghiên cứu và phân tích những tài liệu từ Google Analytics, bạn hoàn toàn có thể truy vấn vào Giới thiệu về biểu thức chính quy ( Regex ) của Analytics tư vấn để tìm hiểu và khám phá thêm nhé !

Những trang nào có thể giải đáp ý nghĩa của Regex?

Bạn hoàn toàn có thể sử dụng những trang như : Regex101. com, rubular.com để thử nghiệm nhé ! Bạn chỉ cần dáng biểu thức Regex của mình vào, nhập những chuỗi thử nghiệm là xong. Đây là những trang khá tốt để bạn hoàn toàn có thể tự tích hợp và phát minh sáng tạo ra biểu thức Regex của riêng mình đấy !

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

  • Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn, Phường Bến Nghé, Quận 1, Thành phố Hồ Chí Minh
    Vă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 333
    Tổng đài miễn phí: 1800 6734
  • Email: [email protected]
  • Website: www.tino.org