Задача. Есть файл. В данном конкретном случае с анекдотами. Многие из них слово в слово повторяются несколько раз. Надо - удалить все дубли, оставив по одному экземпляру...
Интересно, можно ли теоретически решить эту задачу с помощью одних только регулярных выражений. Мне такой способ незнаком.
Дык "одних только" и я не собирался. С их помощью я собирался отделить один анекдот от другого. С учетом огромного кол-ва всяких управляющий и несимвольных знаков в ворде я думал такой алгоритм: берётся отделяется от всего текста первый анекдот, удаляются все неиероглифические знаки(чтобы он представлял собой сплошную иероглифическую строку - для сравнения), потом те же операции проделываются со всеми нижележащими и сравниваются. При совпадении нижележ. удаляется. Я уже забыл, ибо за выходные в поисках решения освоил минимальные знания о питоне, перле и VBA for MS WORD

, но что-то там не ищется. Кажется, мне не удалось задать последовательность "любой знак кроме иероглифов" - все мои варианты не сработали.... Я даже сохранил текст в простой txt файл с кодировкой utf8, чтобы обработать его perl или python, но пока не разобрался с поддержкой юникода в этих языках.
Тексты загоняются в базу данных (например, Access), по анекдоту на ячейку.
Уже это вгоняет меня в ступор. Мне в регэкспах разобраться куда проще,чем в дебрях API микрософт. регвыры хотя бы представляют собой единую сущность с едиными правилами.
Кароче, я не знаю, как это делается, так же как не знаю, как потом осуществлять поиск в ячейках

Ячейки упорядочиваются по алфавиту. После этого делается простенький макрос, который сравнивает две идущие подряд ячейки и удаляет одну из них, если они идентичны. Никаких регулярных выражений, поддержки пробелов и прочего здесь не надо.
поизучал я VBA вордовский. Встроенные в одну из библиотек регэкспы НЕ РАЗЛИЧАЮТ пробельные символы, возвраты каретки и много другого. другой реализиции регвыров я не нашел.
Может быть, мы с Вами говорим о совершенно разных вещах?
Как может Ворд не различать пробелы и возвраты каретки? Зачем ковырять библиотеки VBA? Всё это выше моего понимания.
Регулярные выражения при поиске-замене в вордовском бейсике активируются опцией MatchWildcards. (Наверное, я ошибся ранее, и они называются именно wildcards, а не place holders - у меня не английский Ворд). Возврат каретки передаётся через "^p" (также "^10" и "^13"), специальные пробелы - через их юникодовое значение ("^uXXXX" или "ChrW(&hXXXX)").
Макросы всего лишь позволяют автоматизировать то, что Ворд может. А что он может в этой области - об этом надо вызвать в справке к программе статью "Поиск и замена" и прочитать.
Тама же даже конструкции выбора нет (А|В). Очень неудобно.