2011-10-28 29 views
5

Tôi đã chơi xung quanh với công cụ biểu thức chính quy của Notepad ++, nhưng có điều gì đó mà tôi không thể thực hiện được, đó là ký pháp định lượng rõ ràng.Notepad ++ ký pháp định lượng rõ ràng

Tôi đã nhìn thấy một số bài khác ở đây, nơi cú pháp sau được sử dụng: (expr) {1,2}

Tuy nhiên, khi tôi sử dụng nó trong một thử nghiệm đơn giản như k{1,1} nơi văn bản để tìm kiếm là k: không có kết quả phù hợp. Tôi đã thử rất nhiều cú pháp: {1,}, {1}, v.v. Tôi có thiếu gì đó ở đây không?

Hãy tha thứ cho tiếng Anh xấu của tôi và cảm ơn câu trả lời của bạn!

Trả lời

18

Bắt đầu với phiên bản 6.0, Notepad ++ hỗ trợ PCRE (source). Định lượng sẽ hoạt động như mong đợi trong các phiên bản này.

Công cụ regex của Notepad ++ 5.9.8 và thấp hơn không không bộ định lượng hỗ trợ (source).

Bạn có thể, tuy nhiên, sử dụng quantifiers sau:

  • k*, tương đương với k{0,}.
  • k+, tương đương với k{1,}.
  • k?, tương đương với k{0,1}.

Nếu bạn muốn các định lượng khác, bạn có thể kết hợp các phương pháp trên.

Ví dụ:

  • kkk+ giả lập k{3,}
  • kkkk?k? giả lập k{3,5}
+0

Cám ơn câu trả lời của bạn! thất vọng, vì nó làm cho tôi xây dựng các biểu thức loooong, nhưng ít nhất bây giờ tôi biết chắc chắn :) – igelineau

+0

Notepad ++ dựa trên [Scintilla] (http://www.scintilla.org/SciTERegEx.html), sử dụng các trường cũ POSIX regexes và những định lượng này không hoạt động ở đó. – NullUserException

+0

@ Dennis Đừng bận tâm, tôi bối rối với một regex phức tạp mà tôi đang nghiên cứu. – Techrocket9

1

Hệ thống biểu thức chính quy của Notepad ++ dường như không hỗ trợ tính năng đó. Họ hỗ trợ k+k*.