我正试图从线上找到弓,然后用专业(aspeed 700)取代专业
使用notepad ++正则表达式
(item (name 767) (Index 567) (Image "wea098") (Action 10 2) (class weapon bow) (code 1 2 2 2) (country 2) (level 56) (wear 1) (limit archer 56) (range 176) (buy 0) (sell 1) (endurance 30) (maxprotect 150) (specialty (Str 1) (Dex 4) (Attack 172 232) (hp 150) (mp 50) (hit 72)))
(item (name 770) (Index 570) (Image "wea101") (Action 10 2) (class weapon wand) (code 1 2 1 3) (country 2) (level 56) (wear 1) (limit mage 56) (range 18) (buy 0) (sell 1) (endurance 30) (maxprotect 150) (specialty (aspeed 1000) (Int 5) (Attack 150 160) (Magic 220 300) (mp 250) (hit 64)))
我试过
Find What : .*class\s*weapon\s*bow.*specialty[^.]
Replace With \1 (aspeed 700)
结果是:
(aspeed 700) (Str 1) (Dex 4) (Attack 172 232) (hp 150) (mp 50) (hit 72)))
我想要的结果应该是:
(item (name 767) (Index 567) (Image "wea098") (Action 10 2) (class weapon bow) (code 1 2 2 2) (country 2) (level 56) (wear 1) (limit archer 56) (range 176) (buy 0) (sell 1) (endurance 30) (maxprotect 150) (specialty (aspeed 700) (Str 1) (Dex 4) (Attack 172 232) (hp 150) (mp 50) (hit 72)))
THX
答案 0 :(得分:1)
如果bow
始终位于specialty
之前,请使用此<:p>
Find what: (.*bow.*)(specialty)
Replace with: $1specialty (aspeed 700)
如果在bow
之后specialty
Find what: (specialty)(.*bow.*)
Replace with: specialty (aspeed 700)$2
,那么使用两个正则表达式(上面的那个和这一个)可能最容易做到这一点:
{{1}}
如果你是核心,那么你可以将这两个正则表达结合起来,我现在可以想到一种方法:)
P.S。较旧版本的Notepad ++存在正则表达式问题。获取most recent version(撰写本文时为6.3)以确保您没有问题。