Regular Expression là gì? Lập trình viên không thể không sài qua cái này

Cập nhật ngày: 28/03/2024 - Đã có 2055 lượt xem bài viết này!
Regular Expression là gì? Lập trình viên không thể không sài qua cái này
Regular Expression chủ yếu là các mẫu (pattern) thay vì các chuỗi cụ thể được sử dụng tìm/thay thế (Find/Replace). Là một công cụ cực mạnh cho xử lí chuỗi trong C#, javascript....

Regular Expression là gì? Lập trình viên không thể không sài qua cái này

Regular Expression là gì? Lập trình viên không thể không sài qua cái này

Regular Expression chủ yếu là các mẫu (pattern) thay vì các chuỗi cụ thể được sử dụng tìm/thay thế (Find/Replace). Là một công cụ cực mạnh cho xử lí chuỗi trong C#, javascript....

Các cú pháp cơ bản Regular Expression

Kết hợp chuỗi đơn giản (Simple String Matching)

Là hình thức cơ bản nhất của biểu thức nhưng cho phép bạn nhanh chóng khai thác các mẫu khác nhau để bạn có thể tìm kiếm nhiều hơn một chuỗi tại một thời điểm hơn là thực hiện nhiều thao tác Tìm.

Tìm: m?n
Phù hợp: "man" and "men" but not "moon"

Tìm: t*t
Phù hợp: "test", "tonight" và "tea time" (the "tea t" portion) không phải "tea time"

Tìm: Te+st
Phù hợp: "test", "teest", "teeeest" không phải "tst"

Các ví dụ thực tế và hay sử dụng Regular Expression

  • Kiểm tra dữ liệu nhập vào có phải là Email không, có phải là số điện thoại không
  • Xóa bỏ các comment trong code, xóa bỏ những khoảng trắng dư thừa trong html giúp file html nhẹ hơn khi trả về cho trình duyệt
  • Cấu hình rewrite trong web.config

Loại bỏ thẻ tag html

public static string TrimHtmlTags(this string input)
{
    if (string.IsNullOrEmpty(input))
        return null;
    input = HttpUtility.HtmlDecode(input);
    return Regex.Replace(input, @"<.[^>]*>", string.Empty);
}

Chuyển chuỗi có dấu sang không dấu

public static string ToVietNameseChacracter(this string s)
{
    if (string.IsNullOrEmpty(s))
        return string.Empty;
    Regex regex = new Regex("\\p{IsCombiningDiacriticalMarks}+");
    string temp = s.Normalize(NormalizationForm.FormD);
    return regex.Replace(temp, String.Empty);
}

Kiểm tra xem có phải là Email không

public bool IsValidMail(string email)
{
    if (string.IsNullOrEmpty(email))
        return false;
    string sMailPattern = @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
    return Regex.IsMatch(email.Trim(), sMailPattern);
}

Kiểm tra có phải là số điện thoại di động ở Việt Nam không

public bool IsValidVietNamPhoneNumber(string phoneNum)
{
    if (string.IsNullOrEmpty(phoneNum))
        return false;
    string sMailPattern = @"^((09(\d){8})|(086(\d){7})|(088(\d){7})|(089(\d){7})|(01(\d){9}))$";
    return Regex.IsMatch(phoneNum.Trim(), sMailPattern);
}

Kiểm tra chuỗi có phải là số không (hay sử dụng đối với dữ liệu từ người dùng gửi lên server xử lý)

public bool IsValidNumber(string str)
{
    return Regex.IsMatch(str, @"^[0-9]+$");
}

 

Bạn đang muốn tìm kiếm 1 công việc với mức thu nhập cao.
✅ Hoặc là bạn đang muốn chuyển đổi công việc mà chưa biết theo học ngành nghề gì cho tốt.
✅ Giới thiệu với bạn Chương trình đào tạo nhân sự dài hạn trong 12 tháng với những điều đặc biệt mà chỉ có tại IMIC và đây cũng chính là sự lựa chọn phù hợp nhất dành cho bạn:
👉 Thứ nhất: Học viên được đào tạo bài bản kỹ năng, kiến thức chuyên môn lý thuyết, thực hành, thực chiến nhiều dự án và chia sẻ những kinh nghiệm thực tế từ Chuyên gia có nhiều năm kinh nghiệm dự án cũng như tâm huyết truyền nghề.
👉 Thứ hai: Được ký hợp đồng cam kết chất lượng đào tạo cũng như mức lương sau tốt nghiệp và đi làm tại các đối tác tuyển dụng của IMIC. Trả lại học phí nếu không đúng những gì đã ký kết.
👉 Thứ ba: Cam kết hỗ trợ giới thiệu công việc sang đối tác tuyển dụng trong vòng 10 năm liên tục.
👉 Thứ tư: Được hỗ trợ tài chính với mức lãi suất 0 đồng qua ngân hàng VIB Bank.
👉  Có 4 Chương trình đào tạo nhân sự dài hạn dành cho bạn lựa chọn theo học. Gồm có:
1)  Data Scientist full-stack
2)  Embedded System & IoT development full-stack
3)  Game development full-stack
4)  Web development full-stack 
✅ Cảm ơn bạn đã dành thời gian lắng nghe những chia sẻ của mình. Và tuyệt vời hơn nữa nếu IMIC được góp phần vào sự thành công của bạn. 
✅ Hãy liên hệ ngay với Phòng tư vấn tuyển sinh để được hỗ trợ về thủ tục nhập học.
✅ Chúc bạn luôn có nhiều sức khỏe và thành công!

Tham khảo các khóa đào tạo nhân sự qua danh mục