XMLタグのパラメーターを置換するにはどうすればよいですか… 正規表現を使用していますか?

autohotkey regex
XMLタグのパラメーターを置換するにはどうすればよいですか…​ 正規表現を使用していますか?

正規表現を使用して以下のparamの値を置き換える方法を教えてください

paramの値が空です。正規表現を使用して何かを追加したかったです。 または、穴param = “”をparam = “something”に置き換えます

そして、id = “1001” helpの後の最初のパラメータでなければなりません。

オートホットキーも使用しています。 autohotkeyを使用してxmlを編集するためのコードを提供していただければわかりません。 :Pしかし、正規表現はこれを行います。

誰かが私にこのコードを提供してくれました

RegExReplace(xml,"s)id=""1001"".*?param=""\K[^""]+","HELLO WORLD!")

パラメータに値がある場合は機能しますが、ない場合は機能しません。 どのように動作させるのですか?

  0  0


ベストアンサー

このようなものを使用できますが、多くの場合、この正規表現は簡単に失敗するため、代わりに適切なXMLパーサーの使用を検討する必要があります。

s/(id="1001" [^>]*param=").*?"/$1something"/

1


XML / HTML paramsについて話していると仮定して、ここでXML / HTML解析エンジンを見るほうが良いかもしれません。 そのようなエンジンは、この種のコンテンツを解析および変更するために作られています-正規表現はそのような作業にはまったく理想的ではありません。

しかし、あなたが何を扱っているのかをもっと知ることも助けになるでしょう。環境は何ですか? これはHTML / XMLデータですか? どこで修正しますか? (クライアント? サーバー?)など

0


あなたが投稿したコマンドがあなたが言ったように動作する場合、あなたがする必要があるのは次のように `+`を `*`に変更することだけです:

RegExReplace(xml,"s)id=""1001"".*?param=""\K[^""]*","HELLO WORLD!")

「+」は「1つ以上」を意味し、「*」は「ゼロ以上」を意味します

0


タイトルとURLをコピーしました