В строке с ключами t, h и w ключ h является опциональным, например во 2-й строке ключа h нету:
t:foo;h:foo;w:foo;
t:foo;w:foo;
Не пойму как правильно сделать h опциональным в RegExp-e, за опциональность в регулярках отвечает символ ? но не пойму куда и как его поместить чтобы эти 2 строки регулярка правильно валидировала.
Инет на удивление не помог(
Получилось только написать регулярку чтоб валидировала строки без опционального параметра t:(.*);w:(.*);
Так не проще? /([thw]):([a-z09]+)+?;/g https://regex101.com/r/YF7z7I/2
Для ключа можно диапазон из латиницы задать, а значение символами возможными. Можно добавить флаг регистронезависимости.
Отличная идея!
Спасибо.
Нечно подобное тоже безуспешно пытался сделать)
Upd: Пришел change request что все строки которые парсятся регуляркой будут обрамляться {{}},
по примеру {{t:foo;w:foo;}}
Как то очень сложно в регулярках такое казалось бы простое изменение применить(
Мысль у меня была написать вот такое \{\{(([thw]):([a-z09]+);)+\}\}
Но эта регулярка не так работает как ожидаю)