2

私のプレーンテキストが

foo=2 bar=3 apple="hello" msg="hello world" host="stackoverflow.com"

キーと値のペアをキャプチャしたいのですが、対応するキーに基づいて値キャプチャ グループの名前を付けたいと思います。たとえば、正規表現をハードコードすると、次のようになります。

foo=(?<foo>\d+) bar=(?<bar>\d+) apple=(?<apple>".*?") msg=(?<msg>".*?") host=(?<host>".*?")

デモ: http://regex101.com/r/wC8nF5

ただし、キーの名前が正確にわからないため、ハードコーディングしたくありません。そのため、キャプチャ グループの名前を変更できずに、このように近づきました

(?<key>\w+)=(?<value>".*?"|\S+)

デモ: http://regex101.com/r/hV8oZ2

キャプチャ グループの名前には単語文字のみを使用できることは理解していますが (使用できる特殊文字は のみです_)、すべてのキー名が単語文字であると仮定すると、PCRE の別のキャプチャ グループに基づいてキャプチャ グループに名前を付ける正規表現は何ですか?

4

0 に答える 0