Здравствуйте, hl-man, Вы писали:
HM>В итоге решение было таким:
HM>^(?>%[\dA-F]{2}|[\w-.~!$&'()*+,;=])*$
HM>Спасибо всем откликнувшимся ^_^
По сути ты избавился от части бектрекинга атомарными группами. Possessive quantifiers сделает тоже самое и быстрее. Кстати, если у тебя символы встречаются чаще чем %ХХ, то стоит их поменять местами в регулярке.