LINUX.ORG.RU

Подскажите по классам символов и скорости регулярок.

 


0

1

https://github.com/markdown-it/linkexp/blob/master/index.js#L64-L143

Делаю «автолинкер» на яваскрипте. Т.к. движок не поддерживает нормально юникод, а строки хранятся в usc2, то приходится шаманить.

1. генерятся паттерны для некоторых классов символов https://github.com/markdown-it/linkexp/blob/master/re.js
2. Вместо [^xxx] используется (?:(?!xxx).) (из-за суррогатных последовательностей для астральных символов)

Есть 2 вопроса:

1. Сильно ли убивает скорость negative lookahead?
2. Насколько нормально яваскриптовый движок регулярок оптимизирует такие колхозные классы символов?
3. Если мне нужно для доменов «что-то вроде символов», можно ли использовать «не (whitespace || control character || punctuation)»? Или есть еще какие-то важные классы которые надо отбросить?

★★★★★

Последнее исправление: CYB3R (всего исправлений: 1)

Не знаю за JS, но я бы попробовал вместо регулярок обычный цикл со switch.

anonymous
()
Ответ на: комментарий от anonymous

Свич тут не при чем. Там даже для строки многовато данных по диапазонам.

Vit ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.