1

受け取った値のテーブルを PHP 配列に再フォーマットするために (textmate の検索と置換ツールで) 正規表現を使用しています。

私はそこまでの道のりのほとんどを手に入れましたが、最終的な変更に苦労しています.

現在のステータス:

$subSectors[1] = 'Crop & Animal Production, Hunting & Related Service Activities'; [1]
$subSectors[2] = 'Forestry & Logging'; [1]

最後の文字 [\d{0-3}] がメインの配列キーになるように、バッチ置換 (数百行) を探しています。

したがって、上記の 2 行は次のようになります。

$subSectors[1][1] = 'Crop & Animal Production, Hunting & Related Service Activities';
$subSectors[1][2] = 'Forestry & Logging';

行末括弧で囲まれた値の長さは 1 ~ 3 桁です。

次を使用して、括弧で囲まれた値を一致させることができます。

\[\d{0,3}]$

しかし、置換文字列を構成する方法に途方に暮れています。

4

3 に答える 3

4

最も簡単な方法は、各グループを個別にキャプチャ( )してから置換することです。

Find: ^(\$\w+)(\[\d+\].*?)\s*(\[\d{0,3}\])$
Replace: $1$3$2

ライブデモ

于 2014-06-11T22:04:42.167 に答える
1

部分を文字列の他の部分に移動したい場合は、パターンを拡張して、一致する部分だけでなく、影響を受ける文字列のすべての部分、つまり [1] 部分を包含する必要があります。

したがって、次のようなものです:

マッチ:

^(\$\w+\[\d+\])([\s\S]+?)(\[\d{0,3}\])(?=\r|$)

交換:

$1$3$2
于 2014-06-11T21:50:01.960 に答える