У меня небольшая проблема с простым регулярным выражением токенизатора:
def test_tokenizer_regex_limit
string = '<p>a</p>' * 400
tokens = string.scan(/(<\s*tag:.*?\/?>)|((?:[^<]|\<(?!\s*tag:.*?\/?>))+)/)
end
В основном он проходит по тексту и получает пары [matched_tag, other_text]. Вот пример: http://rubular.com/r/f88JBjfzFh
Прекрасно работает для небольших наборов. Если вы запустите под ruby 1.8.7, он взорвется. 1.9.2 отлично работает.
Есть идеи, как это упростить / улучшить? Мое регулярное выражение слабо