VIM中使用正则匹配中文 您所在的位置:网站首页 vim反向匹配 VIM中使用正则匹配中文

VIM中使用正则匹配中文

2024-05-02 22:49| 来源: 网络整理| 查看: 265

众所周知,使用JS的正则对中文进行验证时,可以使用:

/[\u4e00-\u9fa5]+/.test(‘中文‘)

 

但是在VIM中再使用这个正则时,则会提示无法找到匹配项

E384: 已查找到文件开头(结尾)仍找不到[\u4e00-\u9fa5]+

 

实际上,VIM的在进行搜索时,有一个‘magic‘设置,当magic设置为不同的情况时(默认的设置是magic),正则表达式的写法是不同的:

 

magic: 除了`^.*$`之外所有的字符都需要加反斜杠nomagic: 除了`^$`之外所有的字符都需要加反斜杠very magic: 任何字符都不需要加反斜杠very nomagic: 任何字体都需要加反斜杠

可以在正则表达式中指定使用哪种magic

\m: magic\M: nomagic\v: very magic\V: very nomagic

例如:

\v[\u4e00-\u9fa5]+ " 查找中文

 

所以之前的问题出在哪里也就一目了然了:

[\u4e00-\u9fa5]\+ " 默认为magic, `+`需要加反斜杠

 

对于多字节文字,VIM除了`\u`之外,还可以使用如`\U1234`表示小于`0xffffffff`的文字。

1. GBK (GB2312/GB18030)\x00-\xff  GBK双字节编码范围\x20-\x7f  ASCII\xa1-\xff  中文\x80-\xff  中文

2. UTF-8 (Unicode)\u4e00-\u9fa5 (中文)\x3130-\x318F (韩文\xAC00-\xD7A3 (韩文)\u0800-\u4e00 (日文)ps: 韩文是大于[\u9fa5]的字符



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有