TA的每日心情 | 开心 2019-8-21 08:44 |
|---|
签到天数: 163 天 [LV.7]常住居民III
|
发表于 2018-11-27 18:18:59
|
显示全部楼层
本帖最后由 mikeee 于 2018-11-27 18:28 编辑 1 w4 J/ _' ?4 I1 c( W
* E7 O' ?1 d/ B& k
不完美,但至少证实正则是可以做的,基本想法来自 https://www.rexegg.com/regex-trick-conditional-replacement.html,比较蹩脚的二次替代。如果正则引擎支持不定长逆序环视的话可能会简单些。我对这个问题感兴趣,因为之前碰到过类似的困扰我的问题。; a+ v+ |% K- C' M0 }" Z
3 T/ ~7 w. `8 h2 G" o尾部加:1=A:2=B:3=C
( ]* X, W% Q2 j4 D! C- asdgzu1asdhui2sdhui31asdhuia2asdhuiTzzzzzz1zzzzzz2zzzzz31zzzzzz1zzzzz2zzzzzzzz31zzzzz1zzzzzzz2zzzzzz3Tasdhui1asdhui2ashdui31ashdui2asdhui31asdhui2ad$ P) z/ N8 Z, l$ v" b% C6 a! Z
- : f4 s2 e0 N! k, \1 [7 w3 }
- :1=A:2=B:3=C
复制代码
/ j8 K( Q5 [9 N* ~
' A/ D% X$ }* W. i7 Z8 I+ a0 `搜- (?s)(?<=T)(.*?)(1)(.*?)(?=T)(?=.*:\2=([A-C]))
复制代码 ; }% J2 Q$ x; ~9 C) r' J
替代(?s):单行模式或 "." 匹配换行符; (?<=T):后视;(?=T):前视; (?=.*:\2=([A-C])): 利用 \2 取得 \4 做替代用。
9 A' G l( W j3 f: A( l& o! W9 T1 U, L! D
Editpad 里亲测可行,不过要点击多次 ctrl-shift-F3 (replace all) |
|