Безопасная альтернатива регулярному выражению - PullRequest
2 голосов
/ 20 февраля 2020

Я создаю сервис регистрации, который будет принимать огромный поток отчетов от различных клиентов. Мне нужно разрешить своим клиентам настраивать определенные текстовые упрощения, такие как:

  • Заменить любой UUID, разделенный пробелами, или пунктуацию sh без знака «*».
  • Заменить что-нибудь после определенного префикса с "*".
  • Заменить все числа между слешами на "*".

Упрощение текста будет зависеть от варианта использования клиента, но я ожидаю регулярные выражения, чтобы быть естественной посадкой. Тем не менее, поскольку регулярные выражения страдают от потенциального обратного отслеживания c, один клиент может испортить сервер с неправильным регулярным выражением.

Поэтому я не могу использовать регулярные выражения и ищу какую-то альтернативу с более жестким гарантии сложности. Было бы приемлемо (и, вероятно, необходимо) наложить более высокое бремя на автора выражения.

Я гуглил вокруг, но не смог найти ничего подходящего.

...