序号 | 入门教程 | Vim | 备注 |
---|---|---|---|
1 | b是正则表达式规定的一个特殊代码……代表着单词的开头或结尾,也就是单词的分界处 | 没有直接对应的。 <,表示单词的起始; >,表示单词的结 | 要查找单词hi,要用 |
2 | +则匹配重复1次或更多次 | {1,} 1 或更多,同 + | d+匹配1个或更多连续的数字,Vim用 d+ |
3 | ? 重复零次或一次 | {0,1} 0 或 1,同 = | |
4 | (?0d{2}[) -]?d{8} 这个表达式可以匹配几种格式的电话号码 | (=0d{2}[) -]=d{8} | |
5 | 如果满足其中任意一种规则都应该当成匹配,具体方法是用|把不同的规则分隔开 | 在一个查找模式中,”或” 运算符是 “|” | |
6 | b(w+)bs+1b 可以用来匹配重复的单词 | <(w+)s+1> | |
7 | bw+(?=ingb),匹配以ing结尾的单词的前面部分(除了ing以外的部分) | Vim称为:零宽度匹配前面的匹配原 | |
8 | (?<=bre)w+b 会匹配以re开头的单词的后半部分(除了re以外的部分) | ( | 零宽度反向匹配。要求前面的匹配原紧贴在后面的模式之前匹配 |
9 | 假如你想要给一个很长的数字中每三位间加一个逗号(当然是从右边加起了) ((?<=d)d{3})+b | ((d)@<=d{3})+> | |
10 | (?<=s)d+(?=s)匹配以空白符间隔的数字 | (s)@<=d+(s)@= | |
11 | 匹配包含后面不是字母u的字母q的单词 bw*q(?!u)w*b | 零宽度否匹配,亦即,要求前面的匹配原在当前位置_不_匹配 | |
12 | d{3}(?!d)匹配三位数字,而且这三位数字的后面不能是数字 | d{3}(d)@! | |
13 | b((?!abc)w)+b匹配不包含连续字符串abc的单词 | <(((abc)@!)w)+> | |
14 | (? | ([a-z])@ | 零宽度反向否匹配,要求前面的匹配原_不_紧贴在其后的模式之前匹配 |
15 | (?<=<(w+)>).*(?=)匹配不包含属性的简单HTML标签内里的内容 | (<3>)@<=.*()@= | 表达式写出来 了,验证可用,但不明白为什么是3。 |
转载于:https://my.oschina.net/i33/blog/90214