2010-08-22 23 views
8

Trong .NET, \p{L} khớp với bất kỳ chữ ascii hoặc non-ascii nào (vì vậy nó sẽ khớp với cả hai aü).Làm cách nào để tìm kiếm trong Vim, sử dụng cụm từ thông dụng cho các chữ cái (cả ascii và non ascii)?

http://www.regular-expressions.info/unicode.html#prop

Có Vim tương đương cho điều này không?

Trong Vim \a hoặc \w sẽ chỉ khớp các ký tự trong phạm vi [a-z] (hoặc [0-9A-Za-z_]).

+0

Để tham khảo: http://vimdoc.sourceforge.net/htmldoc/pattern.html; có vẻ như bạn có thể chơi xung quanh với ví dụ '\ P', tức là các ký tự có thể in (cho phép nhiều byte) không bao gồm chữ số. Bạn có thể phải ghi đè giá trị cho tùy chọn 'isprint'. – polygenelubricants

Trả lời

6

Bạn có thể cho biết rõ ràng phạm vi giá trị thập phân nào phù hợp. Đây là loại một cách tiếp cận shotgun, nhưng nếu bạn biết những gì các dãy có thể (như UTF-8 chẳng hạn) này sẽ làm việc:

/[\x7f-\xffa-zA-Z] 

Bạn cũng có thể tìm kiếm các giá trị unicode rõ ràng bằng cách nhập vào các ký tự unicode trực tiếp hoặc mã của nó ở định dạng sau:

/\%u0300 
+2

Có giới hạn về số ký tự được phép trong một lớp ký tự (255, IIRC). – JXG

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