У меня есть регулярное выражение, которое должно проверяться, если строка состоит из строк, разделенных пробелом. Регулярное выражение работает хорошо (хорошо, в конце оно позволяет пустое пространство ... но это не его проблема), но занимает слишком много времени, когда проверка не проходит.
Регулярное выражение выглядит следующим образом:
/^(([\w\-]+)( )?){0,}$/
При попытке проверки с помощью строки
"'this-is_SAMPLE-scope-123,this-is_SAMPLE-scope-456'"
это занимает 2 секунды.
Испытания проводились в рубинах 1.9.2-rc1 и 1.8.7. Но это, вероятно, общая проблема.
Есть идеи?