Tuỳ chọn khuôn mẫu đối sánh

Một phần của tài liệu giáo trình ngôn ngữ lập trình perl (Trang 71 - 73)

Khi chỉ định khuôn mẫu, ta có thể sử dụng thêm một vài tuỳ chọn để điều khiển khuôn mẫu được đối sánh như thế nào.

Bảng sau đây liệt kê những tuỳ chọn đó

Tuỳ chọn GIẢI THÍCH

g Lấy tất cả các khuôn mẫu có thể

i Bỏ qua chữ hoa, thường

m Coi xâu như nhiều hàng

o Chỉ ước lượng một lần

s Coi xâu là một hàng

x Bỏ qua khoảng trắng trong khuôn mẫu

Tất cả các tuỳ chọn này đều được đặt ngay sau khuôn mẫu. Ví dụ /abc/i

Một khuôn mẫu có thể có nhiều tuỳ chọn và không cần phân biệt thứ tự tuỳ chọn: /abc /isx

3.1 Tuỳ chọn g

Tuỳ chọn này báo cho Perl biết phải lấy tất cả các khuôn mẫu phù hợp trong xâu. Ví dụ đối với xâu banana ta sử dụng khuôn mẫu

/.a/g

thì các khuôn mẫu được lấy ra trong xâu là ba, na. Do đó có thể dùng một mảng để lấy ra tất cả các khuôn mẫu trong xâu

@mau = “banana” =~ /.a/g; Mảng @mau bấy giờ gồm

(“ba”, “na”)

3.2 Tuỳ chọn i

Tuỳ chọn này cho phép bỏ qua sự phân biệt chữ hoa và chữ thường. Ví dụ khuôn mẫu sau đối sánh với ab, Ab, aB, hay AB

/ab/i

3.3 Tuỳ chọn m

Tuỳ chọn này báo cho Perl biết xâu được đối sánh có chứa nhiều dòng văn bản. Khi có Tuỳ chọn m, kí tự đặc biệt ^ đối sánh với cả bắt đầu chuỗi hay bắt đầu dòng mới:

3.4 Tuỳ chọn s

Tuỳ chọn này cho biết xâu được đối sánh xem như là một dòng văn bản. Trong trường hợp này kí tự đặc biệt . được đối sánh với mọi kí tự trong xâu kể cả kí tự chuyển sang dòng mới \n. Do đó khuôn mẫu /a.b/s được đối sánh thành công đối với xâu

axxxxxxxxxx \ nxxxxb

3.5 Tuỳ chọn x

Tuỳ chọn này cho phép ta sử dụng các khoảng trắng trong khuôn mẫu mà không làm ảnh hưởng đến khuôn mẫu. Điều này làm cho khuôn mẫu dễ đọc, dễ hiểu hơn

/\d{2} ([\W]) \d{2} \1 \d{2}/x

Đến đây, khuôn mẫu có chứa khoảng trắng ta thêm \ vào trước khoảng trắng cần chỉ định /[A-Z] [a-z]+ \ [A-Z] [a-z]+ /x

Tuy nhiên nếu có khoảng trắng trong khuôn mẫu thì không nên sử dụng tùy chọn x để tạo ra các khoảng trắng.

Một phần của tài liệu giáo trình ngôn ngữ lập trình perl (Trang 71 - 73)

Tải bản đầy đủ (DOC)

(96 trang)
w