Latest post of the previous page:
Если хотите, чтоб я посмотрел, приложите оба варианта скрипта и обрабатываемый файл - всего 3 файла.AleXH wrote:Что-то в фаре не так, иначе откуда такая катастрофическая разница?
Latest post of the previous page:
Если хотите, чтоб я посмотрел, приложите оба варианта скрипта и обрабатываемый файл - всего 3 файла.AleXH wrote:Что-то в фаре не так, иначе откуда такая катастрофическая разница?
zg wrote:очевидно, что очень много конвертаций utf8<->ucs16.
Да, и то, и другое.Max Rusov wrote:Возможно, там постоянно пересчитывается индекс символа между UTF8/UCS16. Чем длиннее строка - тем это дольше...
Code: Select all
while true
lbegin,lend,curr=word\find line,posl
Shmuel wrote:Если бы фаровские регекспы имели фичу "positional captures"
Движок у фара собственный, можно было бы и реализовать?5.4.1 – Patterns wrote:As a special case, the empty capture () captures the current string position (a number). For instance, if we apply the pattern "()aa()" on the string "flaaap", there will be two captures: 3 and 5.
Всё можно, при наличии времени и желания.John Doe wrote:Движок у фара собственный, можно было бы и реализовать?
Code: Select all
word=regex.new "/\\b(\\i+)\\b/" и match:regex.new "/[а-яёА-ЯЁ]*([a-zA-Z]+[а-яёА-ЯЁ]+)+[a-zA-Z]*/"
Code: Select all
word=regex.new "/\\b(\\w+?)\\b/" и match:regex.new "/((?<=[a-zA-Z0-9])[а-яёА-ЯЁ]+|[а-яёА-ЯЁ]+(?=[a-zA-Z0-9]))/"
Code: Select all
find:regex.new "/([а-яёА-ЯЁ]+)/"
Code: Select all
find:regex.new "/([аеорсхуАВЕЗКМНОРСТХ]+)/"
Полагаю вы правы.AleXH wrote:Смысл сабжа в том, чтобы подсветить все смешанные слова, а не только те, которые начинаются на латиницу.
Вот это и называется поддерживать. Кто-то должен править первый пост.AleXH wrote:Если у кого-то есть дополнительные идеи, оптимизации воплощённые в код, то пусть предлагают - поправим.