Я написал такое регулярное выражение:
(?<arg>(?<key>\w+)+=(?<quote>["'`])(?<value>(?:[^\k<quote>]|(?<=\\)\k<quote>)+\k<quote>))
, но оно не работает из-за обратных ссылок внутри [^].Я искал решение по этой теме и написал следующее:
(?<arg>(?<key>\w+)+=(?<quote>["'`])(?<value>(?:(?!\k<quote>).|(?<=\\)\k<quote>)+\k<quote>))
однако оно все еще не работает.
Что я делаю не так?
Я хочу извлечь все ключи со значениями из строк, таких как:
arg="value" arg='value' arg=`value` arg="value 'value'" arg='value \'value\' value' arg="value \"value\" value" arg=`value \`value\ value`
regex101 - предварительный просмотр в режиме онлайн