oryx_and_crake: (Default)
oryx_and_crake ([personal profile] oryx_and_crake) wrote2011-12-17 09:37 pm

Спасите-помогите

У кого-то из френдов был скрипт для Ворда, выделяющий цветом повторение слов в тексте и тому подобное. Не дайте погибнуть! Спасибо.

(кросспост в ру_транслейт)


UPDATE. Я пока делаю поиск с использованием wildcards с таким выражением: ([А-ЯЁа-яё]{6})(?{1,80})\1
Это работает, но как-то странно: по идее оно должно искать слова, расположенные друг от друга не более чем в 80 символах, а оно находит и выделяет слова, расположенные практически на любом расстоянии друг от друга, через несколько страниц. Что я делаю не так?

[identity profile] homo-nudus.livejournal.com 2011-12-18 09:25 am (UTC)(link)
Я делал не вордовский скрипт, но вот такой сетевой сервис:

http://homo-nudus.livejournal.com/204416.html?format=light

Там есть подходящая вам функция. А если вы знаете регулярные выражения, то можно искать что угодно.

Что касается вашего регулярного выражения, я не уверен, в каком приложении вы его используете и на каком языке оно написано. Но если это стандартный набор в стиле JavaScript, его нужно писать несколько иначе:

([А-ЯЁа-яё]{6}).{1,80}\1


([А-ЯЁа-яё]{6}) - любое слово из шести букв с запоминанием (это намеренное ограничение? дефисы тоже намерено не включены?)

.{1,80} - любое количество любых символов (кроме переводов строки) от одного до восьмидесяти.

\1 - повтор шестибуквенного слова.

Но такое сочетание будет искать повторы не только слов, но и частей слов. Чтобы искались только слова, нужно вставить знаки словесных границ. В стандартном наборе это будет выглядеть так:

\b([А-ЯЁа-яё]{6})\b.{1,80}\1

[identity profile] homo-nudus.livejournal.com 2011-12-18 07:22 pm (UTC)(link)
Понятно. Покопался в Ворде, у меня получилось так:

<([А-ЯЁа-яё]{6})>?{1;80}\1

Добавил знаки словесных границ, вдобавок если вставлять диапазон при помощи самого Ворда, вставляется не запятая, а точка с запятой. Но вы правы, работает очень глючно (границы игнорируются и диапазон не работает).

Попробуйте на сайте с шаблоном из стандартных регулярных выражений или просто в настройках выбирайте проверку на повторение слов, указав максимальный размер слова и расстояние между повторами.

[identity profile] homo-nudus.livejournal.com 2011-12-19 05:20 am (UTC)(link)
Ворд 2010. Наверное, что-то поменяли.

[identity profile] homo-nudus.livejournal.com 2011-12-19 05:20 am (UTC)(link)
Тогда простите.

[identity profile] hedgy.livejournal.com 2011-12-20 03:59 am (UTC)(link)
Ух ты, а мне бы такое тоже пригодилось.
В ру_транслейт вам не ответили?
А как со всякими именами, "он/она" и "сказал/сказала"?

[identity profile] hedgy.livejournal.com 2011-12-20 08:52 am (UTC)(link)
Спасибо, только у меня объемы текстов такие же, как у вас :)

[identity profile] severenin.livejournal.com 2012-01-06 12:59 pm (UTC)(link)
Старую добрую программку "Свежий взгляд" пробовали? Она, правда, не без недостатков, но лично я за неимением лучшего пользуюсь ею. Могу прислать.