Tôi không thể tìm thấy tham chiếu chính thức cho các quy tắc ưu tiên cho Perl regular expressions. Những gì tôi có thể tìm thấy chỉ là Know the precedence of regular expression operators. Tuy nhiên, nó không phải là một tài liệu tham khảo chính thức được đưa ra bởi perldoc.Quy tắc ưu tiên cho biểu thức chính quy Perl là gì?
Trả lời
Cụm từ thông dụng chỉ có hai toán tử nhị phân, một trong số đó là ngầm định chứ không phải biểu thị bằng ký hiệu. Các biểu thức chính quy cũng có một số toán tử đơn nhất, nhưng ưu tiên của chúng là tranh luận do các hạn chế về toán hạng của chúng. Điều đó làm cho việc nói về quyền ưu tiên thực sự kỳ quặc.
Sẽ đơn giản truyền đạt các thông tin mà bạn tìm kiếm bằng cách sử dụng câu lệnh sau:
- Quantifiers sửa đổi một nguyên tử duy nhất.
- Công cụ điều chỉnh bộ định lượng sửa đổi một bộ định lượng đơn.
- Cách thay thế không bị chặn trừ ngoại trừ các parens mà chúng cư trú.
Thông tin trên được chuyển tải theo cách này hay cách khác trong perlretut.
Điều đó nói rằng, có thể tạo bảng ưu tiên. Vì các câu lệnh trên truyền đạt tất cả thông tin bạn cần, có thể xây dựng bảng ưu tiên từ chúng. Nó được như sau:
- Atoms (ví dụ
a
,\n
,\^
,.
,^
,\w
,[...]
,\1
,(...)
) - Postfix unary nhà khai thác (quantifiers và bổ lượng hóa)
- ngầm "theo sau bởi "toán tử giữa (nguyên tử có thể được định lượng)
- Luân phiên
Điều này khớp với biểu đồ trong trang mà bạn đã liên kết.
Đối với niềm vui, sau đây sẽ là BNF:
pattern ::= <alternation>
alternation ::= <sequence> <alternation2>
alternation2 ::= "|" <alternation> | ""
sequence ::= <quantified_atom> <sequence> | ""
quantified_atom ::= <atom> <quantified_atom2>
quantified_atom2 ::= <modified_quantifier> | ""
modified_quantifier ::= <quantifier> <modified_quantifier2>
modified_quantifier2 ::= <quantifier_modifier> | ""
Bạn không cần phải, nó đã tuyệt vời rồi :) – Aaron
- 1. Quy tắc biểu thức chính quy trong Outlook 2007?
- 2. Kết hợp các quy tắc trường hợp khác nhau trong một biểu thức chính quy Perl
- 3. Biểu thức chính quy - Ruby vs Perl
- 4. Perl chia và biểu thức chính quy
- 5. Khó hiểu quy tắc CSS ưu tiên
- 6. Ưu tiên quy tắc chuyển hướng IIS
- 7. Cách phân loại/phân loại chuỗi theo quy tắc biểu thức chính quy trong Python
- 8. [^.] * Có nghĩa là gì trong biểu thức chính quy?
- 9. $ 1 và $ 2 trong Biểu thức chính quy là gì?
- 10. Biểu thức chính quy tiền tố là gì?
- 11. Biểu thức chính quy cho kho git
- 12. Biểu thức chính quy JavaScript
- 13. Biểu thức chính quy Perl - Công cụ sửa đổi gc có nghĩa là gì?
- 14. Quy tắc ProGuard cho Firebase là gì?
- 15. trận đấu trên nhiều dòng perl biểu thức chính quy
- 16. Biểu thức chính quy theo kiểu perl trong emacs
- 17. Ví dụ về ngữ pháp Perl 6 với các quy tắc ưu tiên toán tử
- 18. Biểu thức chính quy chính xác nhất cho đường dẫn tệp UNIX là gì?
- 19. Cách tách quy tắc biểu thức chính quy dài thành nhiều dòng trong Python
- 20. Biểu thức chính quy kết thúc
- 21. Biểu thức chính quy cho 0 hoặc số dương
- 22. Máy ảo từ biểu thức chính quy
- 23. Clojure multiline biểu thức chính quy
- 24. HTML 5 - biểu thức chính quy số
- 25. Phần biểu thức chính quy này thêm gì?
- 26. Biểu thức chính quy tiêu cực lookahead
- 27. Ý nghĩa của `?:` Trong biểu thức chính quy là
- 28. Trình kiểm tra biểu thức chính quy tốt cho OS X là gì?
- 29. Biểu thức chính quy không tuân thủ
- 30. Java - biểu thức chính quy cho định dạng get số
perlre chứa một phần * Phiên bản 8 Regular Expressions * cung cấp một mô tả bằng lời nói của mô hình regex phù hợp với cơ chế. – laune
@laune, tôi vừa duyệt _Version 8 Regular Expressions_. Nhưng tôi không thể tìm thấy bất cứ điều gì có liên quan đến ưu tiên. Bạn có thể vui lòng chỉ ra cách nó có liên quan đến ưu tiên không? –
Tôi nghĩ rằng văn bản này làm rõ vấn đề, nhưng bạn có thể phải đọc (một chút) giữa các dòng. - Dù sao, không bao giờ nghi ngờ về sự ưu tiên của dấu ngoặc đơn, số lượng, vị trí và các lựa chọn thay thế trong bất kỳ hệ thống regex nào (sớm) * tiện ích nix, awk, Perl4, Perl5, Java, Lược đồ XML và nhiều thứ khác. - Cái gì đang làm phiền bạn vậy?? – laune