0

私はラインから弓を見つけて、専門専門に置き換えようとしています(aspeed 700)

メモ帳++正規表現で

(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)))

どうも

4

1 に答える 1

1

bow常に前に来る場合はspecialty、これを使用してください:

Find what:     (.*bow.*)(specialty)
Replace with:  $1specialty (aspeed 700)

bow後に来る場合specialtyは、上記の正規表現と次の正規表現の2つの正規表現を使用してこれを行うのがおそらく最も簡単です。

Find what:     (specialty)(.*bow.*)
Replace with:  specialty (aspeed 700)$2

あなたがハードコアなら、おそらくこれら2つの正規表現を組み合わせることができます、私は今それを行う方法を考えることができます:)

PS古いバージョンのNotepad++には、正規表現に関する問題があります。問題がないことを確認するために、最新バージョン(この記事の執筆時点では6.3)を入手してください。

于 2013-03-09T03:22:17.237 に答える