2017-08-18 23 views
-2

regexp pythonスタイルでXML属性値を取得する方法をアドバイスしてください。ここでRegexp XML属性値

例であり、抽出物が完全に一致(長い話)

<method code="ABC"> 

にする必要があり、私が達成ほとんどは(?<=code=\")(.*?)(?=\">)ですが、それはすべての

おかげ

+0

正規表現の提案を追加します。実際のXMLパーサを使用してください。 – kjhughes

答えて

0

でメソッドの一部を無視しますまあ、正規表現の構文の基礎を学び、reを使うか、xmlを直接解析するPythonのxml.etree.ElementTreeモジュールを見てください。

正規表現を使用する場合は、オンラインツール(たとえば、regex101)を使用して、言語固有の式をインタラクティブにテストできます。

<(?P<method>\w*?) (?P<code>\w*?)=\"(?P<value>.*)\">となります。 しかし、再度言及したように、regexを使用してXMLからデータを抽出することは脆弱であり、非常に制限されています。


EDIT:3

EDIT2のためのより明確な説明:正規表現を使用してXMLを解析しないでください

+0

Pythonスタイルと言って、私はこの正規表現を処理するアプリケーションがPythonの正規表現構文を必要とすることを意味しました。コーディングはここでのオプションではないので、唯一の方法は正規表現を動作させることです。 –

+0

その後、私が最後に提供したリンクを使用することができます。これは、言語固有の正規表現をテストできるオンラインツールです。私は自分の答えを編集して、それがより明確になるようにします。 – FabienP

+0

あなたの答えをお寄せいただきありがとうございますFabien、私は既にあなたがここに投稿して解決を求める前に提案したサイトで私の正規表現をテストしました –