(\w+)\s*=\s*(?:(?:"([^"]*)"|'([^']*)'|([^;\n"']+))\s*(?:;|$))
Most elolvastam a közbenső igényeket is, és itt tesztelhető: https://regex101.com/r/KmWmNf/3
A magyar leírás benne van a linkben is archiválás céljából.
- (\w+) - Elkapja a paraméter nevét.
- \s*=\s* - Keresi az egyenlőségjelet a felesleges szóközökkel együtt.
- (?:"([^"]*)"|'([^']*)'|([^;\n"']+)) - Elkapja az értéket a következő feltételekkel:
- "[^"]*": Dupla idézőjelek közötti szöveget, ami nem tartalmaz további dupla idézőjeleket.
- '[^']*': Egyszerű idézőjelek közötti szöveget, ami nem tartalmaz további egyszerű idézőjeleket.
- [^;\n"']+: Szöveget, ami nem tartalmaz sem pontosvesszőt, sem sorvégét, sem idézőjelet.
- \s*(?:;|$) - Keres egy opcionális sorvégi vagy pontosvessző elválasztót.