Thứ hai, ngày 5 tháng 12 năm 2016

Phương Thức Match() Trong Regex

Ngày đăng: 10/10/2011, 8:35:44AM | Lượt xem: 4,091
Hot!

 Trong bài viết lần trước chúng ta đã tìm hiểu một số nét căn bản về Regular Expression trong lập trình csharp; Bài viết này ta sẽ tìm hiểu phần tiếp theo trong Regular Expression là phương thức Match, Matches, IsMatch và cách chuyển đổi từ tập hợp Match sang kiểu dữ liệu Collection khác trong dotnet.

 Phương thức Match()

Phương thức Match dùng để tách các chuỗi con từ chuỗi gốc ban đầu theo chuỗi mẫu partern đưa vào. Kết quả từ phương thức Match là tập hợp các chuỗi con thõa mãn điều kiện ban đầu. Trong ví dụ bên dưới ta thấy để truy xuất kết quả từ Match dùng thuộc tính match.Group[0].Value. 0 ở đây là thứ tự của truy vấn trong chuỗi partern, bắt đầu từ 0. Trong partern nếu có nhiều truy vấn lồng nhau thì giá trị 0 là thứ tự của các truy vấn con đó. (Tính thứ tự bắt đầu từ 0). Để chuyển sang kết quả tiếp theo ta dùng phương thức NextMatch().

Kết quả

Phương thức Matches()

Tương tự với phương thức Match, Matches dùng để tách chuỗi theo chuỗi mẫu partern. Nhưng điều thú vị của Matches nằm ở kết quả trả về, cho ta biết được vị trí xuất hiện của chuỗi con. Tập hợp các kết quả từ Matches được trả về trong thuộc tính Captures, từ capture có thể lấy ra Index cho biết vị trí của chuỗi con và Value cho biết giá trị của chuỗi con. Trong ví dụ bên dưới từ chuỗi ban đầu ta dùng partern “s\w+d” để tách ra các chuỗi con theo mẫu bắt đầu là ký tự ‘s’ tiếp theo là có ít nhất 1 ký tự bất kỳ và cuối cùng là là ký tự ‘d’.

Kết quả

Truy vấn lồng nhau trong chuỗi mẫu partern

Trong chuỗi partern có thể lồng nhiều truy vấn vấn khác nhau, khi truy xuất có thể tách kết quả theo Group. Ví dụ trong partern bên dưới ” ‘ (.*?)’ ” có 2 truy vấn lồng nhau, truy vấn đầu tiên là nguyên chuỗi partern, truy vấn thứ 2 trong ngoặc đơn. Khi lấy kết quả nếu ta dùng Group[0] thì tập hợp kết quả trả về là: ‘muzix’ ‘film’ ‘video’ và ‘hd’ (có dấu nháy đơn) Còn trường hợp bên dưới dùng Group[1] thì kết quả trả về là: muzix film video và hd (không có dấu nháy đơn). Như vậy việc lồng truy vấn trong partern sẽ giúp ta tiết kiệm truy vấn, thay ví dùng nhiều phương thức thì chỉ cần lồng truy vấn và tiến hành truy xuất thông qua Group.

Kết quả

Phương thức IsMatch()

Phương thức này hỗ trợ kiểm tra xem một chuỗi con có tồn tại trong chuỗi ban đầu hay không. Đối số của phương thức tương tự với Match() và Matches() gồm: chuỗi ban đầu và partern mẫu cho truy vấn. Kết quả trả về là True hoặc False.

Kết quả

 

 Chia sẻ qua: 
Hot!
Ý kiến bạn đọc

These items will be permanently deleted and cannot be recovered. Are you sure?

Gallery

image

Maecenas viverra rutrum pulvinar

Maecenas viverra rutrum pulvinar! Aenean vehicula nulla sit amet metus aliquam et malesuada risus aliquet. Vestibulum rhoncus, dolor sit amet venenatis porta, metus purus sagittis nisl, sodales volutpat elit lorem…

Read more

Text Links

Thiết kế logo chuyên nghiệp Insky
DAFABET
W88 w88b.com/dang-ky-tai-khoan-w88
W88
Copyright © 2011 - 2012 vietshare.vn by phamkhuong102@gmail.com doanhkisi2315@gmail.com. All rights reserved.