どのように同封してテキストのパターン内のxml要素がある場合を除き、既に内部を一定のxml要素かどうかが判別されます。

StackOverflow https://stackoverflow.com/questions/1160164

質問

私は数千xmlファイルから生成されるjavaプロパティファイル作成のための翻訳にTTX形式です。が含まれているかなりの数の変数、その保護のために必要があるから、翻訳者としても憩いと思います。の変数の数がテキストのペアの間に巻きブレース例{0},{こ}.

いを取り囲むこれらの変数をxml要素がない場合はすでに属性がなされていない部分の内側のテキストの ut 要素はこのように:

<ut DisplayText="{0}">&lt;{0}&gt;</ut>

私の入力は以下のようなものです:

<ut Type="start"DisplayText="string">&lt;string&gt;</ut> text string {0} 
<ut DisplayText="{1}">&lt;{1}&gt;</ut> in:
<ut DisplayText="\n">&lt;\n/&gt;</ut> {2}.
<ut Type="end" DisplayText="resource">&lt;/resource&gt;</ut>

正しい出力できます:

<ut Type="start"DisplayText="string">&lt;string&gt;</ut> text string <ut DisplayText="{0}">{0}</ut> 
<ut DisplayText="{1}">&lt;{1}&gt;</ut> in:
<ut DisplayText="\n">&lt;\n/&gt;</ut> <ut DisplayText="{2}">{2}</ut>.
<ut Type="end" DisplayText="resource">&lt;/resource&gt;</ut>

最初のアプローチを用いた正規表現に合わせて、ブレースでのxml要素でパターンに代入します。このアプローチに失敗した場合のパターンが存在が発見されており、それらの最初のコードブロックです。

前回検索と置換patters(notepad++):

({[A-Za-z0-9]*})

交換

<ut DisplayText="\1">\1</ut>

では初という正規表現ではないのでは、適切なツールのような提案をよりよい方法、異なるツールを、より完全正規表現の場としての解決を迅速に繰り返し.

更新: この問題に少し複雑になれを予見した。そうでもありますから、いろいろなものが入ってると必要な保護、むしろ無名の書式では、混合変数テキストが発生する何らかの条件とします。メモリ:

{o,choice|1#1  error|1&lt;{0,number,integer} errors}

が"エラー"や"誤り"はtranslatableな保護することが出来ます。最も単純な解して現在がありますが、上記のregex枕元の目覚ましに、ipodを繋げらの奇数のerrosで作成しカップルに通常の検索と置換し、採用者の注目を集め、より複雑です。これを抽象化してregexが今はないと思う点います。

また、ポインタの商用およびその他のエディタにより正規表現をサポートを表現します。いることも一つのオプションの時に適用されるものとする。

役に立ちましたか?

解決 3

その結を組み合わせの正規表現の問題は、手動で固定をしているとエラーが表示されるものです。なかなか理想的なものでした以上に早く探しにぴった。

他のヒント

い私の想定が間違っているのは、もらえるようで変更したいテキストは{}とな <ut> 要素になります。私はこのような簡単に利用XSLT.単出力学要素としてその処理などのテキストです。

してみませんの表現

(?<=.){[A-Za-z0-9]+}(?=.$)

これは{1以上の文字や数字を}このパターンを次のタグの数の空間がその後の空間線ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top