Tìm một email bằng regex trong make.com

Trong text parse trong make.com. 

- Tìm email: the regex below: ([\w.-]+@[\w.-]+) 

 - To search only for phone numbers using the regex below: ^[+]?\(?(\d{1,3})\)?[\s-]?\(?(\d{3})\)?[\s-]?\d{3}[\s-]?\d{3,4} 

- URL: https?:\/\/(?:www\.)?[\w\-]+\.[\w\-]+(?:\.[\w\-]+)*(?:\/[\w\-._~:/?#[\]@!$&'()*+,;%=]*)?

- Ngày tháng: \b([A-Za-z]+),\s([A-Za-z]+)\s(\d{1,2}),\s(\d{4})\s-\s(\d{1,2}):(\d{2})\s(AM|PM)\b

Sunday, October 27, 2024 - 4:05 AM


=============
Giải thích:

1. Ví dụ: Regex để tìm URL

Để tìm một đường link URL trong văn bản bằng regex trong Make.com, bạn có thể sử dụng biểu thức sau:

ruby
https?:\/\/(?:www\.)?[\w\-]+\.[\w\-]+(?:\.[\w\-]+)*(?:\/[\w\-._~:/?#[\]@!$&'()*+,;%=]*)?

Giải thích regex này:

  • https?: Bắt đầu với http hoặc https.
  • :\/\/: Theo sau là ://.
  • (?:www\.)?: Có thể có hoặc không có www..
  • [\w\-]+: Phần tên miền, chứa các chữ cái, số hoặc dấu gạch ngang.
  • \.[\w\-]+: Phần mở rộng miền, ví dụ: .com, .net, v.v.
  • (?:\.[\w\-]+)*: Phần mở rộng miền phụ tùy chọn (như .co.uk).
  • (?:\/[\w\-._~:/?#[\]@!$&'()*+,;%=]*)?: Đường dẫn URL, nếu có, sau tên miền chính.

Bạn có thể dán regex này vào Text Parser trong Make.com để tự động tìm và trích xuất các URL từ văn bản trong email hoặc các tài liệu khác.

2. Ví dụ: Regex để tìm ngày tháng

Giả sử bạn muốn tìm ngày tháng với định dạng dd/mm/yyyy hoặc dd-mm-yyyy, bạn có thể sử dụng regex như sau:

regex
\b(0?[1-9]|[12][0-9]|3[01])[-\/](0?[1-9]|1[0-2])[-\/](\d{4})\b

Giải thích regex này:

  • \b: Bắt đầu từ một từ hoặc kết thúc tại đó (đảm bảo chỉ bắt đầu và kết thúc ở giới hạn từ).
  • (0?[1-9]|[12][0-9]|3[01]): Tìm ngày từ 01 đến 31 (cho phép số 0 ở trước).
  • [-\/]: Chấp nhận dấu gạch ngang - hoặc dấu gạch chéo / làm dấu phân cách.
  • (0?[1-9]|1[0-2]): Tìm tháng từ 01 đến 12.
  • [-\/]: Dấu phân cách giữa tháng và năm.
  • (\d{4}): Tìm năm với 4 chữ số (ví dụ: 2024).

3. Một số ví dụ regex phổ biến khác:

  • Số điện thoại (đã có ở câu hỏi của bạn, nhưng bổ sung thêm ví dụ):

    regex
    \+?\d{1,3}[\s.-]?\(?\d{2,3}\)?[\s.-]?\d{3,4}[\s.-]?\d{3,4}
  • Địa chỉ email:

    regex
    [\w.-]+@[\w.-]+\.\w+
  • Giờ phút (định dạng 24 giờ):

    regex
    \b([01]?[0-9]|2[0-3]):[0-5][0-9]\b

Khi đã quen với các ký tự đặc biệt và quy tắc trong regex, bạn có thể tự xây dựng regex theo nhu cầu của mình.

-------------

Để tìm kiếm một chuỗi ngày tháng với định dạng như "Sunday, October 27, 2024 - 4:05 AM", ta cần tạo một regex cụ thể để phù hợp với cấu trúc này.

Regex mẫu cho định dạng trên:

regex
\b([A-Za-z]+),\s([A-Za-z]+)\s(\d{1,2}),\s(\d{4})\s-\s(\d{1,2}):(\d{2})\s(AM|PM)\b

Giải thích từng phần:

  • \b: Đảm bảo regex chỉ bắt đầu và kết thúc ở giới hạn từ.
  • ([A-Za-z]+),: Tên ngày trong tuần, ví dụ: Sunday, Monday (viết bằng chữ cái từ A-Za-z).
  • \s: Khoảng trắng để tách các phần.
  • ([A-Za-z]+)\s: Tên tháng bằng chữ, ví dụ: October, November.
  • (\d{1,2}),: Ngày trong tháng, từ 1 đến 31, chấp nhận 1 hoặc 2 chữ số.
  • \s(\d{4}): Năm với 4 chữ số, ví dụ: 2024.
  • \s-\s: Ký tự - ngăn cách giữa ngày và giờ.
  • (\d{1,2}): Giờ (1 hoặc 2 chữ số).
  • :(\d{2}): Phút (chính xác 2 chữ số).
  • \s(AM|PM): Chỉ định AM hoặc PM (chấp nhận cả hai dạng chữ).

Áp dụng:

Khi sử dụng regex này, bạn sẽ trích xuất được các thành phần sau:

  1. Ngày trong tuần (e.g., "Sunday")
  2. Tháng (e.g., "October")
  3. Ngày trong tháng (e.g., "27")
  4. Năm (e.g., "2024")
  5. Giờ (e.g., "4")
  6. Phút (e.g., "05")
  7. AM/PM (e.g., "AM")

Bạn có thể thử nghiệm regex này trên các nền tảng kiểm tra như regex101.com để xem từng phần được trích xuất như thế nào.

Nhận xét