私のプレーンテキストが
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 の別のキャプチャ グループに基づいてキャプチャ グループに名前を付ける正規表現は何ですか?