У вас есть дополнительные ]
и вам нужно экранировать $
, чтобы использовать его в качестве символа, хотя вам также нужно сопоставить последний параметр без $
, поэтому используйте
([a-z]*=[a-z0-9]*(\$|$))*
• [a-z]*=
: соответствует нулю или больше раз, соответствует = символ
• [a-z0-9]*(\$|$)
: соответствует азу и 0-9, ноль или более раз, за которым следует либо $
символ, либо конец совпадения.
• ([a-z]*=[a-z0-9]*(\$|$))*
: сопоставить ноль или более вхождений пар.
Примечание: использовать +
(одно или несколько совпадений) вместо *
для строгого сопоставления, как:
([a-z]+=[a-z0-9]+(\$|$))*