属性値に二重引用符を使用しないXMLファイルがあります。以下はサンプルです。ご覧のとおり、これらは可能な値です。正規表現*=\s*([^" >]+)
を使用して試してみましたが、大部分は="\1"
に置き換えましたが、2つの問題があります。
これらについてのお手伝いをいただければ幸いです。RegEx Notepad ++:検索置換を使用してXML属性値に引用符を追加する
- 空の値(例:状態)を二重引用符( "")で置換しません。
- それは値がsentence.egを有する最初のワード(説明)
サンプル入力置き換え:
<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="" />
これは正規表現では解決できないでしょう。無効なXMLの生成によって、いくつかの情報が破棄されました。属性値には等号記号が含まれている可能性があるため、解決できない曖昧さがあります(あなたにはそうでないとは確信できません)。唯一の合理的な解決策は、属性値が明白に分かっているソースでXMLの生成を修正することです。 –
私はxmlの値に=を持っていないと確信しています。 – KKR