在.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