Share Code Web - Chia sẻ niềm đam mê bất tận > Lập trình > Regular Expression là gì
Regular Expression là gì
Nguyễn Trung Hiếu
Share Code Web Company 2013

Regular Expression là gì

Bài ngày hôm nay tôi sẽ chia sẻ cùng các bạn về Regular Expression, một trong những thành phần quan trọng nhất trong form validation và sử dụng nhiều trong tìm kiếm, thay thế, và hệ thống crawling website.

Bài viết được dịch từ nguồn từ 9lessions của tác giả Arun Kumar Sekar. Và chúng ta cùng đi tìm hiểu một vài thành phần cơ bản của Regular Expression thông qua các ví dụ cụ thể sẽ giúp bạn hiểu sâu hơn.

Regular Expression là gì?

Regular Expression là gì

Regular Expression còn gọi ngắn gọn là Regex – Tập hợp các phép xử lý văn bản như tìm kiếm, so khớp, cắt ghép… Regex làm việc dựa trên những mẫu văn bản theo các quy tắc định sẵn trước để từ đó xử lý những văn bản khác theo các yêu cầu khác nhau. Các mẫu văn bản có sẵn gọi là partern. Để sử dụng Regex trong C# bạn cần sử dụng namespace System.Text.RegularExpression. Trong các bài tiếp theo chúng ta sẽ lần lượt làm rõ từng khái niệm, thuộc tính, phương thức trong Regular Expression – Microsoftech.net

Nhóm thành phần 1

Symbol Explanation
^ Bắt đầu một chuỗi
$ Kết thúc một chuỗi
. Bất kỳ giá trị đơn nào
+ Một hoặc nhiều ký tự
\ Ký tự đặc biệt
? 0 hoặc nhiều ký tự

Ví dụ

Đầu vào chính xác là “abc”

Đầu vào bắt đầu “abc”

Đầu vào kết thúc bằng “abc”

Đầu vào là “abc” và tiếp sau thêm 1 ký tự bất kỳ

Đầu vào là “abc” và tiếp theo là một hoặc nhiều ký tự bất kỳ

Đầu vào chính xác là abc.def

Cho phép môt hoặc nhiều ký tự bất kỳ sau “abc”

Nhóm thành phần 2

Char Group Explanation
[abc] Should match any single of character
[^abc] Should not match any single character
[a-zA-Z0-9] Ký tự nằm trong khoảng từ a tới z, chữ hoa và số từ 0 tới 9
[a-z-._] Ký tự nằm trong khoảng từ a tới z và thêm một ký tự đặc biệt
(.*?) Tất cả mọi thứ kèm theo dấu ngoặc
(com|info) Đầu vào lựa chọn “com” hoặc “info”
{2} Có chính xác 2 ký tự
{2,3} Tối thiểu 2 ký tự, tối đa 3 ký tự
{2,} Nhiều hơn 2 ký tự

Ví dụ

Nhóm thành phần thứ 3

Short Form Equivalent Explanation
\d [0-9] Bất kỳ một số nào
\D [^0-9] Bất kỳ một ký tự không phải số
\w [a-zA-Z0-9_] Ký tự, số, và gạch dưới
\W [^a-zA-Z0-9_] Ngoại trừ ký tự chữ, số và gạch dưới
\s Ký tự là khoảng trắng
\S Không được ký tự khoảng trắng

Ví dụ

Related Posts

Tác giả: Nguyễn Trung Hiếu

Một blogger ... cùi bắp! Đơn giản: tôi muốn ghi lại những gì xảy ra xung quanh, cả công việc lẫn cuộc sống và chia sẻ với các bạn đọc. Nếu bạn cảm thấy bài viết có nhiều điểm không chính xác, hãy comment và chia sẻ để tôi còn được học hỏi từ những góp ý của bạn. Email: hieunt.dcn@gmail.com

http://sharecodeweb.net/?s={search_term_string}