在.NET中,\p{L}
匹配任何ascii或非ascii字母(所以它將匹配a
和ü
)。如何在Vim中使用正則表達式搜索字母(ascii和非ascii)?
http://www.regular-expressions.info/unicode.html#prop
是否有Vim的等效呢?
在Vim \a
或\w
將只匹配範圍[a-z]
(或[0-9A-Za-z_]
)中的字符。
在.NET中,\p{L}
匹配任何ascii或非ascii字母(所以它將匹配a
和ü
)。如何在Vim中使用正則表達式搜索字母(ascii和非ascii)?
http://www.regular-expressions.info/unicode.html#prop
是否有Vim的等效呢?
在Vim \a
或\w
將只匹配範圍[a-z]
(或[0-9A-Za-z_]
)中的字符。
您可以明確告訴vim要匹配哪些十六進制值的範圍。這是怎樣的一個鳥槍法的,但如果你知道什麼是可能的範圍(如UTF-8爲例)這會工作:
/[\x7f-\xffa-zA-Z]
您也可以通過直接輸入的Unicode字符搜索明確的Unicode值或者它的代碼格式如下:
/\%u0300
字符類(255,IIRC)中允許有多少個字符是有限制的。 – JXG 2011-05-19 09:18:20
僅供參考:http://vimdoc.sourceforge.net/htmldoc/pattern.html;看起來你可能會玩弄例如'\ P',即可打印字符(允許多字節),不包括數字。您可能必須覆蓋'isprint'選項的值。 – polygenelubricants 2010-08-22 12:38:44