Ali EXE
Ali EXE

Reputation: 1361

How to parse a given key-value parameters string?

I have this string:

Parameter1="Something related to this" Parameter2="Another value" Parameter3='Single quotes are permitted' Parameter4="Even HTML entities are permitted"

I want to get this list:

  1. Parameter1=Something related to this
  2. Parameter2=Another value
  3. Parameter3=Single quotes are permitted
  4. Parameter4=Even HTML entities are permitted

I tried this regex. But it's not working:

(\w+)=(('|"|")).*(('|"|"))

How can I parse this string and extract key-value pairs?

Upvotes: 1

Views: 121

Answers (1)

Wiktor Stribiżew
Wiktor Stribiżew

Reputation: 626689

You can use

(\w+)=(['"]|")(.*?)\2

See the regex demo. Details:

  • (\w+) - Group 1: one or more word chars
  • = - an equals sign
  • (['"]|") - Group 2: ', " or "
  • (.*?) - Group 3: any zero or more chars other than an LF char as few as possible
  • \2 - Group 2 value.

Upvotes: 3

Related Questions