TA的每日心情 | 奋斗 2019-10-13 07:34 |
---|
签到天数: 209 天 [LV.7]常住居民III
|
发表于 2018-12-26 10:41:27
|
显示全部楼层
本帖最后由 VimVim 于 2018-12-26 11:21 编辑 7 J% U) ]) {& B ~
, E3 @ X3 U) R) ]3 I8 M
Vim的解决方案:
, L% H5 e& ` J% j3 M# G1、采用Vim宏命令,自动获取词头并存入寄存器a(具体请自行解决)4 p1 L6 Z& K: U8 T6 U
2、使用vim的替换命令(其中^Ra指上述寄存器a中的内容,而非普通字符),将非词头的行删除:
7 K4 s* I5 g. p$ t1 \:s/\v(.*)(\<h2\>((?!^Ra).)+\<\/h2\>)(.*)//
# W' R, t, o, U# M+ ^: q6 _3、将上述指令存入Vim宏命令,批量实施:具体案例可参考 8 c0 X6 h, O% p% Z! B8 Y
https://www.pdawiki.com/forum/fo ... d=32243&pid=1033507 , N- l9 ^; ` j: ?9 C& h! D
3 t; r% E9 U( n, N! l8 `% y具体测试结果请查看:8 Q' R$ E3 Y3 Y* W
4 X( [% u3 f0 J4 _# T
在线测试正则表达式:https://c.runoob.com/front-end/854
* M! f7 W: H: x9 P; O, p测试用例:(.*)(\<h2\>((?!豬婆).)+\<\/h2\>)(.*)
- p; J2 j. R% d4 B# d- H' y! l1 B1 b) }% n这与上述Vim指令相比:" d# y9 T: A, D$ [8 S, o; O3 w, t
(1)少了Vim替换命令相关的内容,(2)“豬婆”等具体关键词,Vim会自动从上述第一步获取。
, ~6 i. N/ Q9 \6 }- S7 }, `2 p3 h5 s
( F/ U/ x: H; A) a* W& [/ g
: ~& r- }* k' r' L" y3 r5 w5 S. Y4 d
, z" c0 S" H4 H' C" f1 u* a- R- `" K
% N% }3 l$ }' M1 S# G' Z5 R1 f" e8 X8 d
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
|