我有以下文字:
üyü
下面的正则表达式搜索匹配字符ü:
/\W
Vim正则表达式中是否有unicode标志?
5gfr0r5j1#
不幸的是,(目前)还没有这样的旗帜。一些内置的字符类(可以)包含多字节字符,而另一些则不包含。常见的\w\a\l\u类只包含ASCII字母,因此即使是变音字符也不包含在其中,从而导致意外的行为!另请参阅https://unix.stackexchange.com/a/60600/18876。在'isprint'选项(和'iskeyword',它确定像w这样的运动所经过的位置)中,始终包括256及以上的多字节字符,此选项仅指定最多255个扩展ASCII字符。
\w
\a
\l
\u
'isprint'
'iskeyword'
w
uxh89sit2#
我总是用途:
ASCII UTF-8 ----- ----- \w [a-zA-Z\u0100-\uFFFF] \W [^a-zA-Z\u0100-\uFFFF]
e1xvtsh33#
您可以使用\%uXXXX来匹配多字节字符。在这种情况下...
\%uXXXX
/\%u00fc
但是我不知道有什么标志可以使整个匹配的多字节友好。请注意,如果UNIX系统上的默认值为iskeyword,则ü将与\k匹配。
iskeyword
ü
\k
pqwbnv8z4#
我经常发现S+带我去我想去地方。2例如:s/\(\S\+\)\s\+\(\S\+\).*/\1 | \2/选择“wörd1 w€rd2但不选择word3”,并将该行替换为“wörd1| w€ 2”
s/\(\S\+\)\s\+\(\S\+\).*/\1 | \2/
4条答案
按热度按时间5gfr0r5j1#
不幸的是,(目前)还没有这样的旗帜。
一些内置的字符类(可以)包含多字节字符,而另一些则不包含。常见的
\w
\a
\l
\u
类只包含ASCII字母,因此即使是变音字符也不包含在其中,从而导致意外的行为!另请参阅https://unix.stackexchange.com/a/60600/18876。在
'isprint'
选项(和'iskeyword'
,它确定像w
这样的运动所经过的位置)中,始终包括256及以上的多字节字符,此选项仅指定最多255个扩展ASCII字符。uxh89sit2#
我总是用途:
e1xvtsh33#
您可以使用
\%uXXXX
来匹配多字节字符。在这种情况下...但是我不知道有什么标志可以使整个匹配的多字节友好。
请注意,如果UNIX系统上的默认值为
iskeyword
,则ü
将与\k
匹配。pqwbnv8z4#
我经常发现S+带我去我想去地方。2例如:
s/\(\S\+\)\s\+\(\S\+\).*/\1 | \2/
选择“wörd1 w€rd2但不选择word3”,并将该行替换为“wörd1| w€ 2”