2011-12-26 37 views
10

Tôi đang đọc man page của GNU find 's và ngại khi chuyển đổi này:Sự khác nhau giữa các loại regex

-regextype type 
      Changes the regular expression syntax understood by -regex and 
      -iregex tests which occur later on the command line. Currently- 
      implemented types are emacs (this is the default), posix-awk, posix- 
      basic, posix-egrep and posix-extended. 

sự khác biệt giữa những cú pháp regex là gì? Tôi quen thuộc hơn với regex của Ruby, vậy tôi nên sử dụng loại regex nào với find?

+1

Hãy xem tại đây: http://www.regular-expressions.info/refflavors.html – fge

+1

Cảm ơn Hmm, tôi đã tìm thấy URL này: http://www.gnu.org/software/findutils/manual/html_node/ find_html/Regular-Expressions.html có khá nhiều câu trả lời cho câu hỏi đầu tiên của tôi. – Lamnk

Trả lời

3

Cụm từ thông dụng được triển khai theo nhiều cách. Biểu thức mở rộng POSIX biết cùng các siêu ký tự như biểu thức cơ bản POSIX nhưng với một vài bổ sung như bạn có thể thấy on this page.

Trong một số trường hợp, người ta có thể muốn sử dụng một metacharacter nhất định được biết đến bởi một trong những triển khai đó và bạn có thể sử dụng tùy chọn này để cho biết find loại nào bạn đang sử dụng. Nếu bạn chỉ cần một biểu thức cơ bản hơn, posix-basic sẽ là đủ.

Ngoài ra, bạn có thể chỉ thích loại RegEx bạn đã quen và find có thể diễn giải chính xác.

Như được đề cập, sử dụng this site để tìm hiểu thêm về sự khác biệt giữa các cú pháp của RegEx.

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