|
发表于 2019-1-6 09:49:33
|
显示全部楼层
本帖最后由 jeanleem6 于 2019-1-6 09:59 编辑
( e( |( j+ x4 Q" _' \& C3 t5 f; m5 A" W
建议楼主分四步来处理:- 处理两对大括弧 {{}}之间只有空白字符的情况(空格、tab、回车等)
- 处理两对大括弧 {{}}之间内容前面有空白字符的情况(如:{{ 单词 单词}}、{{ 单词 单词 }})
- 处理两对大括弧 {{}}之间内容后面有空白字符的情况(如:{{单词 单词 }}、{{ 单词 单词 }})
- 给内容之后加冒号
) K, R2 U- E- @) P6 v! R B
( O: K; {1 L4 Y* p3 M第一步正则及替换:- {{\s+}} //正则8 G4 `# v% n3 v6 b! E) W
- {{}} //替换
复制代码 : H0 Z, x/ M `) L3 A, [& _7 q( Q
第二步正则及替换:2 A$ o) l, _ c$ {1 r
- {{\s+([^{}]+?)}} //正则+ j$ n* k: F! t5 p% p
- {{\1}} //替换
复制代码
, d( `: P; G+ ]$ y6 d; |; O第三步正则及替换:% B' O# }( I6 j( i+ Q" g
- {{([^{}]+?)\s+}} //正则
7 v# f: m4 a% d- C' h. m - {{\1}} //替换
复制代码 $ H2 _& S4 j5 _/ q$ D' j
第四步正则及替换:" K. U" S! q) R; u
- {{([^{}]+?)}} //正则. `3 `6 ~" M. B! [ A
- {{\1:}} //替换
复制代码
& c( z" J: I2 _8 N1 m# i- V当然,其实第三步与第四步可以合并为一步:
! K, r0 v% b S" T( X- {{([^{}]+?)\s+}} //正则
% F, d; |7 j) u$ k - {{\1:}} //替换
复制代码
7 K1 p L; V2 @* O% a; }/ `
2 c, K1 j" E3 Z9 M! c# I( w2 z
$ C, x, m. u% \, D; p% D! [2 M3 q% i) u, ~: F
5 D ~6 s, ^& C3 G2 ` |
|