TA的每日心情 | 开心 2019-8-21 08:44 |
|---|
签到天数: 163 天 [LV.7]常住居民III
|
发表于 2018-11-27 18:18:59
|
显示全部楼层
本帖最后由 mikeee 于 2018-11-27 18:28 编辑 , e! Q$ w* L9 c+ D# m! T
& e/ H2 @5 [. E! a) p不完美,但至少证实正则是可以做的,基本想法来自 https://www.rexegg.com/regex-trick-conditional-replacement.html,比较蹩脚的二次替代。如果正则引擎支持不定长逆序环视的话可能会简单些。我对这个问题感兴趣,因为之前碰到过类似的困扰我的问题。# N8 K" z( l* `: {- m! h
3 _9 z) `( ~2 W, T6 N尾部加:1=A:2=B:3=C
. X @1 ?, v0 M @2 F0 V8 `' x- asdgzu1asdhui2sdhui31asdhuia2asdhuiTzzzzzz1zzzzzz2zzzzz31zzzzzz1zzzzz2zzzzzzzz31zzzzz1zzzzzzz2zzzzzz3Tasdhui1asdhui2ashdui31ashdui2asdhui31asdhui2ad
. B* i0 B8 K r! D - # ~1 u) ~+ b \
- :1=A:2=B:3=C
复制代码
v6 k, i4 w* r) e3 `
6 k0 E' v& |, ?. y/ C' b! o, }( r搜- (?s)(?<=T)(.*?)(1)(.*?)(?=T)(?=.*:\2=([A-C]))
复制代码
( s+ X% J! u) l, F: q& F6 w) {替代(?s):单行模式或 "." 匹配换行符; (?<=T):后视;(?=T):前视; (?=.*:\2=([A-C])): 利用 \2 取得 \4 做替代用。
1 ^+ J' f9 z% A" q+ C2 x% y. B) p/ G* H" A, ?7 g, o
Editpad 里亲测可行,不过要点击多次 ctrl-shift-F3 (replace all) |
|