Home > Software engineering >  How to parse a given key-value parameters string?
How to parse a given key-value parameters string?

Time:05-20

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?

CodePudding user response:

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.
  • Related