2012-05-18 49 views
5

Tôi đang tham chiếu một biểu thức chính quy. Nó nóiBiểu thức chính quy không tuân thủ

{3,5} nghĩa

{3,5}? nghĩa 3,4,5 ungreedy +

ungreedy + chỉ ra?

+0

Bạn đang nói về [trang lừa đảo này] (http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/) phải không? Hãy nhận biết rằng đó là một mash-up của các tính năng rút ra hình thức nhiều hương vị khác nhau; vì vậy đừng mong đợi mọi thứ sẽ hoạt động theo sở thích của bạn. Ngoài ra, nó liệt kê '(?! = ...)' như một cú pháp thay thế cho lookbehind tiêu cực, mà chỉ là đồng bằng sai. Mỗi hương vị tôi quen thuộc với sử dụng '(?

Trả lời

9

Bộ quan sát {3,5}? có nghĩa là lần đầu tiên nó sẽ thử khớp 3 lần xuất hiện, sau đó xem phần còn lại của biểu thức có khớp không. Nếu phần còn lại của cụm từ không thành công, nó sẽ quay lại và thử 4, sau đó cuối cùng là 5.

Phiên bản tham lam {3,5} sẽ thử các kết quả theo thứ tự ngược - dài nhất trước.

Lưu ý rằng tham lam không ảnh hưởng đến việc chuỗi có phù hợp hay không. Nó chỉ ảnh hưởng đến thứ tự mà công cụ thực hiện tìm kiếm và nội dung của các ảnh chụp nếu có nhóm chụp.

Dưới đây là ví dụ minh họa sự khác biệt. Hãy tưởng tượng bạn có chuỗi aaaaabc.

  • (a{3,5})(\w*) sẽ chụp aaaaabc. (rubular)
  • (a{3,5}?)(\w*) sẽ chụp aaaaabc. (rubular)
+0

Cảm ơn. Tôi hiểu một phần ý bạn là gì. Bạn có thể giải thích bằng ví dụ .. – Ank

+0

@Ankur: Đã thêm ví dụ. –

+0

Cảm ơn ví dụ của bạn .. – Ank

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