Автор Тема: Регулярные выражения  (Прочитано 12749 раз)

andre

  • Newbie
  • *
  • Сообщений: 1
    • Просмотр профиля
Регулярные выражения
« : Апрель 16, 2012, 06:46:37 pm »
Есть много вариаций на Эту тему: JScript, Perl, VBasic.
Какой синтаксис используется Здесь?
Не могу заставить работать в Этом режиме )-;
Какой символ можно использовать как обрамление Выражения?
Как сохранять фрагменты_из_Найденого и вставлять их в нужном порядке?

Напишите, пжлста, развёрнутую справку по Вашей версии, с подробными рабочими примерами:
  в поле "Что найти:" ...
  в поле "Заменить на:" ...
  и серия строк в файле: что было / что стало.

admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 537
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #1 : Апрель 17, 2012, 04:13:44 pm »
В следующей версии будет мастер для составления регулярных выражений. Ну и примеры в справке.
Следующая версия выйдет скоро.

Ales

  • Newbie
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #2 : Июнь 26, 2012, 01:55:47 pm »
При попытке замены с применением регулярного выражения, при прохождении теста выражения, собственно замены не произошло.
Может ли это быть из-за того, что исходные файлы в utf-8 ?

dobrmir

  • Newbie
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #3 : Ноябрь 05, 2012, 11:13:07 pm »
Не могу сообразить, помогите.
1. Надо составить регулярное выражение для фрагмента текста:
От начала документа до сочетания символов "(54)", включая эти символы.
Этот кусок текста собираюсь удалять. Пример во вложении.

admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 537
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #4 : Ноябрь 05, 2012, 11:23:37 pm »
Если правильно понял задачу, то:
\A.+\(54\)

dobrmir

  • Newbie
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #5 : Ноябрь 06, 2012, 06:40:28 am »
Спасибо, помогло. Сейчас вот в чем нуждаюсь:
Нужно склеить разорванные слова в тексте в одну строку, удалив справа дефис и цифры или точку. Цифры могут быть другими, скорее всего только двухзначные.

методика акумули- 25
рования

сол- 10
нечную страну

В систе-.
ме производится

Встречается и нормальный текст:
Заслонки 39
открыты.

(Где нет дефиса, цифры удалять не надо)

P.S. Вот это не работает: -\s\d\d$
« Последнее редактирование: Ноябрь 06, 2012, 12:49:07 pm от dobrmir »

admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 537
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #6 : Ноябрь 06, 2012, 03:39:07 pm »
Два варианта попробуйте:
-\s?(\.|\d+)[\s\.]$
-\s?(\.|\d+)[\s\.\r\n]

dobrmir

  • Newbie
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #7 : Ноябрь 06, 2012, 05:23:01 pm »
Спасибо.
« Последнее редактирование: Ноябрь 07, 2012, 09:24:02 am от dobrmir »

dobrmir

  • Newbie
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #8 : Ноябрь 18, 2012, 03:01:12 pm »
Нужно удалить из текста строки короче 16 символов, при этом если в этих строках присутствует текст в верхнем регистре длинной более 5 символов (то есть от 5 до 16), то их удалять не надо.

Как понимаю, надо сначала составить регулярку для поиска строк короче 16 символов:
^[^\n]{1,16}$

Затем составить регулярку, при наличии которой в найденных результатах предыдущего условия, эти строки не будут удаляться:
^.*[А-Я][А-Я][А-Я][А-Я][А-Я].*$

Как составить условие исключения не знаю :-(, подскажите пожалуйса.
Подробнее об этом написано здесь (http://books.google.ru/books?id=doObPX9Pl6MC&pg=PA129&lpg=PA129&dq=%22%D0%B2+%D1%8D%D1%82%D0%BE%D0%BC+%D1%83%D1%80%D0%BE%D0%BA%D0%B5+%D0%B8%D1%81%D1%81%D0%BB%D0%B5%D0%B4%D1%83%D0%B5%D1%82%D1%81%D1%8F+%D0%BC%D0%BE%D1%89%D0%BD%D0%B0%D1%8F%22&source=bl&ots=g_KoRRA9M6&sig=ky56ypKp8EiuLik_4nT3qXRLp_I&hl=ru&sa=X&ei=Pb2oUM2mEYnc4QTWrIC4Bg&ved=0CCQQ6AEwAA#v=onepage&q=%22%D0%B2%20%D1%8D%D1%82%D0%BE%D0%BC%20%D1%83%D1%80%D0%BE%D0%BA%D0%B5%20%D0%B8%D1%81%D1%81%D0%BB%D0%B5%D0%B4%D1%83%D0%B5%D1%82%D1%81%D1%8F%20%D0%BC%D0%BE%D1%89%D0%BD%D0%B0%D1%8F%22&f=false).

Net09

  • Newbie
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #9 : Сентябрь 23, 2013, 05:20:53 pm »
Подскажите, а как поправить выражение, чтобы поиск был без учета регистра?
По регулярке
,\s*sNEW\s*,
В мастере поиск происходит без учета регистра, а когда прогоняешь по файлам, то отыскиваются только точные соответствия.

admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 537
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #10 : Сентябрь 23, 2013, 05:52:31 pm »
На главном окне галочка "учитывать регистр" (рядом с кнопкой "заменить") отмечена?

Net09

  • Newbie
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #11 : Сентябрь 23, 2013, 05:56:31 pm »
Нет, галочка не отмечена.
Версия программы - с сайта.

Net09

  • Newbie
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #12 : Сентябрь 23, 2013, 10:40:49 pm »
Протестировал более основательно. Есть проблема с регистром при использовании регулярных выражений. Всегда происходит поиск по точному соответствию, вне зависимости от выставленной опции "Учитывать регистр".
Попробуйте заменить слово test на Yes в следующем тексте именно с использованием регулярок:
Цитировать
1234
test Test TEST  TeSt
5678

Net09

  • Newbie
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #13 : Сентябрь 24, 2013, 12:11:37 am »
Вопрос почти закрыт.
Проблему решил добавлением в регулярку (?i)
Но автору пожелание - сделайте идентичную работу мастера и основного блока замены.
В мастере, по умолчанию, регулярка отрабатывает БЕЗ учета регистра.

Константин

  • Newbie
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Регулярные выражения
« Ответ #14 : Ноябрь 12, 2013, 07:52:20 pm »
Здравствуйте.
Подскажите, можно ли с помощью Вашей программы заменить цифру на ряд цифр?
Ситуация такая, есть много html страниц с текстом, на каждой вставлено одно фото, например foto_1
Делал так специально, чтобы в будущем нормальные фото вставить, да вот не хочется ручками все менять, страниц много, долго получится...
Можно ли задать условие, при котором на каждой странице будет заменяться foto_1 на foto_2, foto_3, foto_4, foto_5 и так далее?