アプリケーションを使用して、XML レコードのフリー テキスト フィールドで特定のテキスト パターンを見つけます。正規表現を使用してパターンを識別し、XML でタグ付けします。特定のプロジェクトでは、使用する必要があるパターンの 1 つの前に 2 文字 27 を追加できれば、時間を大幅に節約できます (約 1,800 万のレコードで作業しています)。
これを行うことはできますか、それとも私は長い道のりを歩かなければなりませんか?
アプリケーションを使用して、XML レコードのフリー テキスト フィールドで特定のテキスト パターンを見つけます。正規表現を使用してパターンを識別し、XML でタグ付けします。特定のプロジェクトでは、使用する必要があるパターンの 1 つの前に 2 文字 27 を追加できれば、時間を大幅に節約できます (約 1,800 万のレコードで作業しています)。
これを行うことはできますか、それとも私は長い道のりを歩かなければなりませんか?
いいえ、存在しない正規表現一致テキストを使用することはできません。正規表現は、元のテキストの一部であるテキストのみを返すことができます。
ただし、グループに一致した場合は、グループ名を使用して、一致しているものに関する追加情報を得ることができます。
XML ファイルを編集する場合、正規表現は適切なツールではありません。代わりに、適切な XML パーサー モジュールを備えた Python、Perl、Ruby、PHP、Java などの最新の言語を使用してください。シェルのようにUnixで作業している場合は、お勧めしますxmlstarlet
そうは言っても、置換を進めたい場合は、sedを試すことができます(自己責任で):
sed -i -r 's/987654/27&/g' files*.xml
(インプレース-i
を変更する場合にのみスイッチのみを使用)