为什么否定字符 class 没有按预期工作?
Why does the negated character class doesn't work as expected?
xyz mnl pqt aaaa ccc
yz mn ats aa cbc ddd eee ggg
我想匹配前两列:
[^\s]*\s[^\s]*\s
但此模式匹配除最后一列以外的所有列。即:
xyz mnl pqt aaaa
yz mn ats aa cbc ddd eee
我不明白 VIM。
两件事:
\s
在字符 class 中不起作用。请改用 \S
。
- 在正则表达式前加上
^
前缀,使其从每行的开头开始。
^\S*\s\S*\s
哪个匹配:
xyz mnl pqt aaaa ccc
^^^^^^^^
yz mn ats aa cbc ddd eee ggg
^^^^^^
xyz mnl pqt aaaa ccc
yz mn ats aa cbc ddd eee ggg
我想匹配前两列:
[^\s]*\s[^\s]*\s
但此模式匹配除最后一列以外的所有列。即:
xyz mnl pqt aaaa
yz mn ats aa cbc ddd eee
我不明白 VIM。
两件事:
\s
在字符 class 中不起作用。请改用\S
。- 在正则表达式前加上
^
前缀,使其从每行的开头开始。
^\S*\s\S*\s
哪个匹配:
xyz mnl pqt aaaa ccc
^^^^^^^^
yz mn ats aa cbc ddd eee ggg
^^^^^^