oryx_and_crake (
oryx_and_crake) wrote2011-12-17 09:37 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Entry tags:
Спасите-помогите
У кого-то из френдов был скрипт для Ворда, выделяющий цветом повторение слов в тексте и тому подобное. Не дайте погибнуть! Спасибо.
(кросспост в ру_транслейт)
UPDATE. Я пока делаю поиск с использованием wildcards с таким выражением: ([А-ЯЁа-яё]{6})(?{1,80})\1
Это работает, но как-то странно: по идее оно должно искать слова, расположенные друг от друга не более чем в 80 символах, а оно находит и выделяет слова, расположенные практически на любом расстоянии друг от друга, через несколько страниц. Что я делаю не так?
(кросспост в ру_транслейт)
UPDATE. Я пока делаю поиск с использованием wildcards с таким выражением: ([А-ЯЁа-яё]{6})(?{1,80})\1
Это работает, но как-то странно: по идее оно должно искать слова, расположенные друг от друга не более чем в 80 символах, а оно находит и выделяет слова, расположенные практически на любом расстоянии друг от друга, через несколько страниц. Что я делаю не так?
no subject
no subject
Спасибо!
no subject
http://homo-nudus.livejournal.com/204416.html?format=light
Там есть подходящая вам функция. А если вы знаете регулярные выражения, то можно искать что угодно.
Что касается вашего регулярного выражения, я не уверен, в каком приложении вы его используете и на каком языке оно написано. Но если это стандартный набор в стиле JavaScript, его нужно писать несколько иначе:
([А-ЯЁа-яё]{6}).{1,80}\1
([А-ЯЁа-яё]{6}) - любое слово из шести букв с запоминанием (это намеренное ограничение? дефисы тоже намерено не включены?)
.{1,80} - любое количество любых символов (кроме переводов строки) от одного до восьмидесяти.
\1 - повтор шестибуквенного слова.
Но такое сочетание будет искать повторы не только слов, но и частей слов. Чтобы искались только слова, нужно вставить знаки словесных границ. В стандартном наборе это будет выглядеть так:
\b([А-ЯЁа-яё]{6})\b.{1,80}\1
no subject
no subject
<([А-ЯЁа-яё]{6})>?{1;80}\1
Добавил знаки словесных границ, вдобавок если вставлять диапазон при помощи самого Ворда, вставляется не запятая, а точка с запятой. Но вы правы, работает очень глючно (границы игнорируются и диапазон не работает).
Попробуйте на сайте с шаблоном из стандартных регулярных выражений или просто в настройках выбирайте проверку на повторение слов, указав максимальный размер слова и расстояние между повторами.
no subject
no subject
no subject
no subject
На Вашем сайте, в смысле? Оно бы все хорошо, и низкий поклон вам за полезную утилиту, но когда речь идет о текстах по 300-500 страниц, как у меня, их не навтыкаешься туда вручную по кусочкам.
no subject
no subject
В ру_транслейт вам не ответили?
А как со всякими именами, "он/она" и "сказал/сказала"?
no subject
Но его формула у меня не работает - видимо, из-за разницы в версиях Ворда. Но для небольших текстов (2-3 печатных листа) прекрасно работает его страница, которую можно найти, если пройти по данной им ссылке.
no subject
no subject
no subject