0

私は5すべての1value+の間に入れようとしているpxので、1pxになるべき15pxであり、になる100pxべき1005pxです。

で検索し1(.*?)pxて置き換えて1$15pxいますが、機能していません...

4

3 に答える 3

2

これが尋ねられてからしばらく経ちましたが、同様の問題に遭遇した他の人にとって、これはうまくいく簡単な答えです.

Sublime Text 2 では、次の置換文字列により、求めている結果が得られます。

1${1}5px

テキスト例:

1px 
100px 1px and 100px

1px 100px 1px and 100px 1px 
100px 1px and 100px1px 
100px 1px and 100px

検索対象:

1(.*?)px

と置換する:

1${1}5px

結果:

15px 
1005px 15px and 1005px

15px 1005px 15px and 1005px 15px 
1005px 15px and 1005px15px 
1005px 15px and 1005px

これは、数値グループ置換の代わりに名前付きグループ置換を使用します。この場合、数字の 1 は名前を表します。${ name }$ number

何らかの理由で、Sublime Text 2 正規表現エンジンは、数字が番号付きグループに続く場合、置換でうまく機能しません。

于 2014-05-30T19:13:24.357 に答える
0

$15あなたの交換は、おそらくではなくキャプチャ グループのように見え$1ます。私は sublimetext2 に精通していませんが、おそらく次のように置換をエスケープする必要があります:

s/1(.*?)px/1${1}5px/

これは確かに、使用している構文と非常によく似た構文のように見える perl の正しい構文です。

于 2012-10-18T12:29:57.000 に答える
0

Sublime Text 2 はバックスラッシュを使用してキャプチャ グループを参照するため、\1代わりに$1

検索対象:(1\d*) ?px

と置換する:\15px

キャプチャ グループ 15 がないため、これは正常に機能します。

于 2012-11-13T10:43:58.137 に答える