Я думаю, что использовать Regex в качестве универсального решения неправильно, когда возможен поиск / замена на основе строк.
Regex по своей сути является процессом сопоставления с образцом и должен использоваться, когда типы строк, которые вы хотите сопоставить, являются переменными или соответствуют только определенному шаблону. Для случаев, когда достаточно простого поиска строки, я бы всегда рекомендовал использовать встроенные методы класса String
.
Я никогда не видел статистических данных о производительности, позволяющих предположить, что поиск на основе Regex быстрее или более производительный, чем индексирование строк. Кроме того, движки Regex различаются по своим возможностям исполнения.
Как будто этого было недостаточно, довольно легко построить Regex, который работает довольно плохо (например, использует многоуровневый возврат), поэтому необходимы глубокие знания Regex, если вы действительно хотите оптимизировать производительность с помощью сопоставления Regex. С другой стороны, даже для n00b довольно просто выполнять поиск или замены на основе строк.