• Trang chủ
  • Phần mềm
  • Demo
  • Bảng giá
  • Dịch vụ
    • Cấu hình chiến dịch
    • Hỗ trợ chuyên nghiệp
  • Add-ons
  • Tài liệu
  • Kiến thức
  • Tài khoản
    • Đăng nhập
    • Đăng ký
  • Trang chủ
  • Phần mềm
  • Demo
  • Bảng giá
  • Dịch vụ
    • Cấu hình chiến dịch
    • Hỗ trợ chuyên nghiệp
  • Add-ons
  • Tài liệu
  • Kiến thức
  • Tài khoản
    • Đăng nhập
    • Đăng ký
Trang chủ/Kiến thức/Regular Expression/Cơ bản về Group trong REGEX
Tìm kiếm phổ biến:leech tin tức, leech truyện, leech sản phẩm

Cơ bản về Group trong REGEX

1418 lượt xem 9 22/03/2019 Updated on 09/04/2020

Trong REGEX có một thứ rất hay ho đó là Group (nhóm) các chuỗi nằm trong khoảng từ X đến Y.

Ví dụ chúng ta có một chuỗi:

XXXaaaYYY

Nếu bạn muốn thay thế những gì nằm trong khoảng giữa XXX và YYY, thì bạn có thể viết REGEX cho Tìm và thay thế như sau:

  • Tìm kiếm: XXX(.+?)YYY
  • Thay thế: XXX$1bbbYYY

Lúc này kết quả cuối cùng sau khi áp dụng Tìm và thay thế sẽ là:

XXXaaabbbYYY

Lệnh (.+?) chính là lệnh nhóm chuỗi nằm trong khoảng từ X đến Y.

Và chúng ta sử dụng ký hiệu đô la $N để biểu đạt cho nhóm đó trong phần Thay thế.

N ở đây là số thứ tự của nhóm trong REGEX.

Dễ hiểu hơn, chúng ta có 1 chuỗi sau:

XXXaaa@eeeYYY

Bây giờ tôi muốn đổi vị trí aaa và eee cho nhau thì sẽ viết REGEX như này:

  • Tìm kiếm: XXX(.+?)@(.+?)YYY
  • Thay thế: XXX$2@$1YYY

Lúc này kết quả cuối cùng sau khi áp dụng Tìm và thay thế sẽ là:

XXXeee@aaaYYY

Như trên tôi đã tạo ra 2 nhóm và sử dụng $1, $2 để biểu đạt 2 nhóm này trong phần Thay thế:

* Vì vậy: Khi bạn tạo nhiều nhóm trong biểu thức REGEX thì các biến $1, $2,… $N sẽ biểu đạt cho từng nhóm theo thứ tự tương ứng.

Thử nghiệm với Thao tác HTML

Thử nghiệm với REGEXR.COM

Việc sử dụng lệnh (.+?) để nhóm chuỗi chỉ áp dụng được khi chuỗi đó không bị xuống dòng.

Nếu chuỗi đó bị xuống dòng thì biểu thức REGEX sẽ không khớp:

Trong trường hợp như vậy bạn thay lệnh (.+?) bằng lệnh ([\S\s]*)

Ví dụ, chúng ta có chuỗi bị xuống dòng như sau:

XXX
aaa
YYY

Tôi sẽ viết biểu thức REGEX như sau:

XXX([\S\s]*)YYY

Thì REGEX này sẽ khớp (các bạn nhìn thấy 1 match) như sau:

Mọi thứ có vẻ ổn, tuy nhiên nếu có 2 chuỗi giống nhau thì REGEX này khớp nhưng vẫn chỉ 1 match

Có nghĩa rằng lệnh ([\S\s]*) sẽ nhóm chuỗi từ XXX đầu tiên cho đến YYY cuối cùng.

Để giải quyết vấn đề này thì bạn thay lệnh ([\S\s]*) bằng lệnh ([\S\s]*?). Khác nhau ở mỗi dấu ?

Như bạn thấy bây giờ chúng ta đã có 2 match và 2 nhóm đã được tách biệt nhau hoàn toàn.

Ví dụ tiếp, tôi có chuỗi HTML sau:

<ul>
<li></li>
<li></li>
<li></li>
</ul>

Làm thế nào để thay thế <ul> thành <ol> ?

Rất đơn giản, chỉ cần REGEX sau:

  • Tìm kiếm: <ul>([\S\s]*?)<\/ul>
  • Thay thế: <ol>$1</ol>

Kết quả cuối cùng sau khi áp dụng Tìm và thay thế sẽ là:

<ol>
<li></li>
<li></li>
<li></li>
</ol>

Chúc các bạn hiểu và thành công. 👿 😀

Bạn có thích nội dung này?

9 Có  Không
Kiến thức liên quan
  • Callback chuyển đổi chữ hoa thành chữ thường và in hoa chữ cái đầu tiên
  • Regex callback tìm và thay thế N lần
  • Các mẫu REGEX hay bạn nên biết
Bình luận

Bạn phải đăng nhập để gửi phản hồi.

Regular Expression

  • Cơ bản về Group trong REGEX
  • Callback chuyển đổi chữ hoa thành chữ thường và in hoa chữ cái đầu tiên
  • Regex callback tìm và thay thế N lần
  • Các mẫu REGEX hay bạn nên biết

Kiến thức mới

  • Hướng dẫn import mã chiến dịch tự động lấy sản phẩm WooCommerce
  • Advanced DB Cleaner – Tối ưu website wordpress và dọn dẹp database
  • Tổng hợp các trường dữ liệu leech truyện với theme Madara
  • Vượt qua cơ chế anti-bot của CloudFlare – bypass cloudflare JS challenge
  • Callback chuyển đổi chữ hoa thành chữ thường và in hoa chữ cái đầu tiên

Chủ đề mới

  • Hỗ trợ cài đặt chiến dịch lấy tin từ kênh batdongsan.com.vn
  • Lỗi lặp ảnh trong bài viết.
  • Hỗ trợ cài đặt chiến dịch lấy video từ kênh youtube
  • Lazy load
  • Leech truyện không còn sử dụng được hả mọi người!

  Callback chuyển đổi chữ hoa thành chữ thường và in hoa chữ cái đầu tiên

Về chúng tôi

KDN Auto Leech là một phần mềm mở rộng được cài đặt và hoạt động trên website sử dụng mã nguồn mở WordPress. Với phần mềm này bạn hoàn toàn có thể tự động lấy nội dung từ bất cứ trang web nào trong bất kỳ lĩnh vực nào về website của bạn.

Thông tin

  • Giới thiệu
  • Liên hệ
  • Chính sách bảo mật
  • Điều khoản sử dụng
  • Hướng dẫn thanh toán

Danh mục

  • Add-ons
  • Bảng giá
  • Tài liệu sử dụng
  • Kiến thức mở rộng
  • Chương trình Affiliate

Tìm hiểu thêm

  • Blog tản mạn
  • Diễn đàn thảo luận
  • Câu hỏi thường gặp
  • Fanpage chính thức
  • Kênh Youtube chính thức
  • Phiên bản: 2.3.6
  • © 2020 - KDN Auto Leech

Tìm kiếm phổ biến:leech tin tức, leech truyện, leech sản phẩm