TA的每日心情 | 开心 2019-8-21 08:44 |
|---|
签到天数: 163 天 [LV.7]常住居民III
|
发表于 2018-11-27 18:18:59
|
显示全部楼层
本帖最后由 mikeee 于 2018-11-27 18:28 编辑 # b+ I& {5 Z, R2 g
9 g% K# ]8 n3 x ~5 W" H1 c
不完美,但至少证实正则是可以做的,基本想法来自 https://www.rexegg.com/regex-trick-conditional-replacement.html,比较蹩脚的二次替代。如果正则引擎支持不定长逆序环视的话可能会简单些。我对这个问题感兴趣,因为之前碰到过类似的困扰我的问题。
- @/ [* l3 Y* M# N; U; _( j. ?8 a; m4 K% ^
尾部加:1=A:2=B:3=C
7 }1 Q4 z2 `* E9 C$ \- asdgzu1asdhui2sdhui31asdhuia2asdhuiTzzzzzz1zzzzzz2zzzzz31zzzzzz1zzzzz2zzzzzzzz31zzzzz1zzzzzzz2zzzzzz3Tasdhui1asdhui2ashdui31ashdui2asdhui31asdhui2ad. T! {: X) t" a. m% B* ?' `& y; c
* u/ M+ E# Q0 r9 a u# _5 B, W- :1=A:2=B:3=C
复制代码
* \; k W3 C8 b$ _) i1 y% r5 i) }# R$ o" P3 a# J
搜- (?s)(?<=T)(.*?)(1)(.*?)(?=T)(?=.*:\2=([A-C]))
复制代码 6 `( r* }# Y/ B5 W! V$ [/ ^/ e7 S
替代(?s):单行模式或 "." 匹配换行符; (?<=T):后视;(?=T):前视; (?=.*:\2=([A-C])): 利用 \2 取得 \4 做替代用。4 j) J1 r7 [" G1 B8 u, I
: ]( F( C$ Y( WEditpad 里亲测可行,不过要点击多次 ctrl-shift-F3 (replace all) |
|