属性値に二重引用符がない XML ファイルがあります。以下はサンプルです。ご覧のとおり、これらは可能な値であり、ほとんどの場合機能する正規表現 *=\s*([^" >]+)
と置換を使用してみ="\1"
ましたが、2 つの問題があります。
これらに関するヘルプをいただければ幸いです。
- 空の値 (ステータスなど) を二重引用符 ("") に置き換えません。
- 値に文がある場合にのみ、最初の単語を置き換えます。eg(description)
サンプル入力:
<tool id=2 code=abc description=my description end here my_levels=$15,000/$30,000 individual_level= amount=0 status= my_code=P my_date=2017-02-21T00:00:00 points= />
期待される結果:
<tool id="2" code="123abc" description="my description end here" my_levels="$15,000/$30,000" individual_level="" amount="0" status="" my_code="P" my_date="2017-02-21T00:00:00" points="" />