2009-07-29 29 views
8

Ai đó đang nói với tôi rằng tôi cần phải thoát khỏi dấu chấm phẩy trong một biểu thức chính quy Perl. Tức là, để khớp một dòng có dấu chấm phẩy, tôi nên sử dụng /\;/ chứ không phải /;/.Tôi có cần phải thoát khỏi dấu chấm phẩy trong một biểu thức chính quy Perl không?

Từ những gì tôi đã đọc, dấu chấm phẩy không có ý nghĩa đặc biệt trong cụm từ thông dụng, vì vậy việc thoát khỏi nó có vẻ không cần thiết. Tôi đã thực hiện một số thử nghiệm và /;/ dường như hoạt động tốt. Khi cảnh báo được bật và hiệu ứng pragma use strict; có hiệu lực, perl không phàn nàn.

Có một số lý do tại sao /\;/ tốt hơn /;/? Phiên bản này có phụ thuộc không?

Trả lời

12

Hoàn toàn không cần phải thoát dấu chấm phẩy trong mẫu biểu thức chính quy. Không có nhu cầu như vậy trong gần mười năm tôi đã sử dụng Perl và tôi nghi ngờ có bao giờ.

Tóm tắt ngắn gọn về các ký tự đặc biệt và chuỗi thoát có thể được tìm thấy trong perldoc perlreref.

1

No. /;/ luôn hoạt động tốt.

3

Có lẽ đây là một thói quen phát triển từ việc sử dụng perl one-liners trên dòng lệnh và không trích dẫn, do đó, ';' chia phần còn lại thành một lệnh khác? Dù sao, như mọi người khác nói, không cần.

+0

@Jefromi Hmmmm ... Điều đó nghe có vẻ giống như một phỏng đoán tốt. Tôi đã mất đi vì sao mọi người lại nghĩ có nhu cầu như vậy. –

5

Có lẽ ai đó nghĩ rằng dấu chấm phẩy cần thoát vì cú pháp của trình soạn thảo làm nổi bật bị nhầm lẫn bởi dấu chấm phẩy được nhúng. Theo kinh nghiệm của tôi, hầu hết các biên tập viên có rất nhiều rắc rối khi đối phó với cú pháp của Perl. Hãy nhớ rằng, Only perl can parse Perl.

+0

@Adam Một dự đoán khác. –

+1

OTOH, đừng quên http://search.cpan.org/perldoc/PPI –

+0

Wow, PPI trông thật tuyệt vời. Và nó là một ví dụ tuyệt vời của tài liệu được viết tốt, bao gồm một mô tả tốt về lý do tại sao rất khó phân tích perl. –

0

Đúng, dấu chấm phẩy không phải là ký tự meta, vì vậy tôi đoán nó không cần phải được thoát.

+0

@jeje Tại sao lại đoán? –

+0

@sinan Nguyên nhân tôi không kiểm tra trước khi trả lời :) – jeje

Các vấn đề liên quan