[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Andrey_A, simup, ХарВик, chip642  
Форум » • Программы • Утилиты • » Утилиты » RegExp и вопросы по регулярным выражениям
RegExp и вопросы по регулярным выражениям
Andrey_AДата: Четверг, 28.11.2013, 22:49 | Сообщение № 1
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 6409
Награды: 98
Репутация: 87
Аверин Андрей
RegExp




Дата выпуска: 2008
Версия: 1.02
Автор: AZJIO

RegExp - Утилита для теста регулярных выражений. Имеет несколько библиотек с готовыми регулярными выражениями, для решения некоторых задач парсинга. Утилита представляет собой только оболочку, синтаксический анализ (парсинг) выполняет встроенный в AutoIt3 движок PCRE. Ограничение добавления патернов в библиотеку 99. Для большего количества делаем очередной файл-библиотеку.



Скачать бесплатно Доступно только для пользователей

Дата выпуска: 29.07.2018
Версия: 2.8
Автор модификации: Averin Andrey

Скачать бесплатно модифицированную версию Доступно только для пользователей



В этой теме возможны обсуждения вопросов, связанных с регулярными выражениями


Ссылки на различные ресурсы, документы

Доступно только для пользователей


В разных программах регулярные выражения могут отличаться...

.


 
asmadeusДата: Четверг, 28.11.2013, 23:21 | Сообщение № 2
Генерал-полковник

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1006
Награды: 25
Репутация: 28
Очень нужная тема и сама утилита, вот только я в регулярных выражениях - дуб дубом
вот по чем знакомился я с регулярными выраениями... читать долго, но изложение интересное
Скачать


Сообщение отредактировал asmadeus - Четверг, 28.11.2013, 23:31
 
Andrey_AДата: Четверг, 28.11.2013, 23:32 | Сообщение № 3
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 6409
Награды: 98
Репутация: 87
Аверин Андрей
Цитата Yaroslav ()
никак не могу понять, как должна выглядеть маска. Куда и после чего, с пробелом, без пробела вставлять все эти !! , $, 1 и т.д. Пробовал почитать справку, но там совсем потерялся... %) Не приведешь ли кратенький ликбез?


Yaroslav, для изучении на практике регулярных выражений рекомендую утилиту RegExp

1. Просмотреть все примеры из библиотеки шаблонов Library_Example, но и другие тоже конечно )



2. Обратить внимание на примеры "Замены" , в ряде случаев необходимо просто нахождение строки.
Ну а далее дело в усидчивости и терпения. Тем более что изучение и понимание регулярных выражений ведёт к экономии времени в автоматизации действий.
Они есть везде, где простым поиском (заменой) сложно решить задачу одним кликом.
Они есть во многих программах и позволяют быстро отсеять ненужное, оставив необходимое:

в Total Commander - в групповом переименовании, в диалоге поиска...

[img640]http://tc-image.3dn.ru/Image/Util/regexp3.png[/img640]

в AkelPad, в текстовых редакторах...



На первый взгляд - это что-то непонятное и необъятное, на самом деле дорогу осилит идущий.

Игнорирование и не изучение регулярных выражений отбрасывает назад

Вот несколько советов:
1. Не старайтесь изучить сразу всё. Не обязательно знать все правила, чтобы использовать регулярные выражения.
2.При решении какой-либо задачи с помощью регулярных выражений:
a) Пробуйте сами
б) Если не получается ещё раз прочитайте соответствующую литературу
в) Если не получается спросите
(важен порядок изучения)
3. Изучайте на примерах. В интернете можно найти достаточно примеров.
4. Записывайте, сохраняйте "пройденные" примеры (конструкции)

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

Теперь перейдём к делу:

Рассмотрим простой пример (задачу можно выполнить даже без рег. выр.)

Есть строка [bgcolor=gray]coverAbout[/bgcolor]
Необходимо оставить только [bgcolor=green]About[/bgcolor]

Пункты действий соответствуют номерам на картинке.

1. Устанавливаем радио кнопку "Замена"
2. В поле Текста вводим строку [bgcolor=gray]coverAbout[/bgcolor]
3. Создаём условия поиска в поле шаблона [bgcolor=blue]cover(About)[/bgcolor]
4. Вводим условия замены [bgcolor=red]$1[/bgcolor]
5. Нажимаем "Тест"
6. Если всё правильно, то в поле "Результаты поиска" будет результат [bgcolor=green]About[/bgcolor]
----
7. Для дополнительной справки
8. Можно сохранить шаблон



_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

продолжение следует )))

.


 
Andrey_AДата: Воскресенье, 22.05.2016, 22:40 | Сообщение № 4
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 6409
Награды: 98
Репутация: 87
Аверин Андрей
Когда-то 3 года назад я писал автору и предложил улучшить программу, но он ответил:
"... для глобального переписывания всего нужен настрой. Если его нет, уже результат известен..."

В общем я сам решил добавить то, что мне нужно, кому интересно в шапке есть модифицированная версия.

История изменений:

[helpquote]Модификация программы RegExp
Версия 2.0. от 22.05.2016
Автор модификации Аверин Андрей Averin-And@yandex.ru http://tc-image.3dn.ru
Изменения:
[+] Увеличен размер правой части (шаблоны) на 50px (соответственно уменьшена левая часть)
[+] Смещены все кнопки ниже листа шаблонов вниз на 30-40px
[+] Увеличен размер и изменён текст кнопки "Копир" на "Копировать"
[+] Добавлены 2 значка
[+] Добавлена меняющаяся кнопка "Включить/Выключить поверх окон"
[+] Добавлен в RegExp.ini ключ OnTop
[+] Добавлено контекстное меню из 7-ми пунктов для регулярного выражения (вызов меню по нажатию правой кнопки мыши на названии "Регулярное выражение, шаблон поиска")
- "Вырезать выделенное"
- "Копировать выделенное"
- "Вставить"
- "Вырезать строку"
- "Копировать строку"
- "Заменить строку"
- "Очистить строку"
[+] Изменён текст кнопки 'V' на '▼'
[+] Добавлен параметр родительского окна в диалог ввода при добавлении шаблона
[+] Изменён текст диалога ввода при добавлении шаблона
[+] Добавлены горячие клавиши
- "Сохранить шаблон" Alt+S
[+] Добавлены кнопки и горячие клавиши
- "Переименовать шаблон" - F2
- "Переместить шаблон вверх" - Alt+Up
- "Переместить шаблон вниз" - Alt+Down
- "Копировать имя шаблона" - Ctrl+D
- "Создать новый файл шаблонов" - Ctrl+N
[+] Библиотеки сохраняются в UTF-8
[+] Добавлены ключи в RegExp.ini
TextColorList - цвет шаблонов
TextColorPattern - цвет текста для поиска
TextColorReplace - цвет текста в поле "Шаблоны замены"
TextColorResult - цвет текста в поле "Результаты поиска"
[+] При запуске RegExpHelp.hta изменяется атрибут окна "Поверх всех окон" относительно окна RegExp[/helpquote]

.


 
asmadeusДата: Воскресенье, 22.05.2016, 23:22 | Сообщение № 5
Генерал-полковник

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1006
Награды: 25
Репутация: 28
Andrey_A, забираю и не думая
 
Andrey_AДата: Понедельник, 23.05.2016, 06:58 | Сообщение № 6
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 6409
Награды: 98
Репутация: 87
Аверин Андрей
Вот ещё несколько изменений, раз уж попёрло, так уж по максимуму))

[helpquote]23.05.2016 [2.1]
[+] При запуске charmap.exe изменяется атрибут окна "Поверх всех окон" относительно окна RegExp
[+] При выходе из программы так же закрываются окна charmap.exe и RegExpHelp.hta
[+] Переделан перезапуск программы "R"
[+] Оптимизирована таблица "Тестирование метасимволов"
- добавлена прокрутка колесом мыши
- изменены минимальные размеры
- добавлена возможность выделения пунктов: Ctrl или Shift + клик мышкой
- добавлена кнопка "Копировать результат"
- добавлена кнопка "Копировать не результат"
- добавлена кнопка "Копировать выделенное"
- добавлена кнопка "Копировать не выделенное"
[+] В некоторых местах оптимизирован код
[+] Добавлена кнопка с меню
- "Копировать путь библиотеки"
- "Копировать имя библиотеки"
- "Копировать имя с расширением"
- "Копировать родительский путь"
[+] Исправлены некоторые размеры элементов окна
[+] Добавлена кнопки в окне
- "Заменить текст для поиска"
- "Копировать текст для поиска. Обрамить кавычками и заменить переносы @CRLF"
- "Заменить шаблон замены"
- "Копировать шаблон замены"
[+] Добавлены подсказки ко всем кнопкам
[+] Добавлен пункт меню "Вставить из строки Autoit" в которой есть шаблоны StringRegExpReplace(...,'...','...') или StringRegExp(...,'...','...')
[+] Добавлены метасимволы в Menu.ini
[+] При переименовании шаблона
- в поля ввода имя текущего шаблона
- после переименования пункт остаётся активным
[+] Все файлы папки Library сконвертированы в UTF-8[/helpquote]

.


 
chip642Дата: Понедельник, 23.05.2016, 07:15 | Сообщение № 7
Генерал-полковник

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1082
Награды: 43
Репутация: 43
Цитата Andrey_A ()
Когда-то 3 года назад я писал автору и предложил улучшить программу

Утилита из разряда нужных, хорошая, добротная, жаль конечно, что автор её не стал допиливать.
----------
Andrey_A, спс, очень удобные и нужные дополнения, поправки.
 
shveicarДата: Понедельник, 23.05.2016, 08:58 | Сообщение № 8
Генерал-лейтенант

На сайте с: 18.05.2012
Город: Санкт-Петербург
Сообщений: 511
Награды: 8
Репутация: 22
Andrey_A
Большое Спасибо за проделанную работу .
 
Andrey_AДата: Суббота, 15.10.2016, 18:08 | Сообщение № 9
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 6409
Награды: 98
Репутация: 87
Аверин Андрей
Ещё некоторые изменения:

[helpquote]15.10.2016 [2.3]
[+] Значки:
- Ряд из них перерисованы
- Перенесены из shell32.dll в RegExp.exe
- Добавлены 28 значков
- добавлены значки во все меню
[+] Добавлена кнопка "Очистить все поля" и горячая клавиша Ctrl+Q
[+] В меню выбора библиотеки:
- убрано повторное считывание, если выбрана активная библиотека
- на пункте активной библиотеки устанавливается другой значок
[+] Добавлена горизонтальная прокрутка в ListBox при длинных именах пунктов
[+] Оптимизирована таблица "Тестирование метасимволов"
- добавлены значки пунктов
- добавлена смена значка выделенных пунктов
- добавлен фокус на первый элемент выделенных пунктов
- горячая клавиша Ctrl+S для вызова таблицы

13.09.2016 [2.2]
[+] Добавлена кнопка с меню
"Перейти к программе в проводнике"
"Перейти к программе в Total Commander слева"
"Перейти к программе в Total Commander справа"
[+] Добавлены кнопки и горячие клавиши
- "Таблица символов" Ctrl+I
- "Перейти к программе в проводнике" Ctrl+Shift+E
- "Перейти к программе в Total Commander слева" Ctrl+Shift+L
- "Перейти к программе в Total Commander справа" Ctrl+Shift+R[/helpquote]

.


 
Andrey_AДата: Вторник, 25.10.2016, 07:54 | Сообщение № 10
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 6409
Награды: 98
Репутация: 87
Аверин Андрей
Ещё некоторые изменения:
[helpquote]25.10.2016 [2.5]
[+] Добавлен значок
[+] Добавлена кнопка "Очистить историю шаблонов поиска"
[+] Добавлена кнопка "Меню дополнительного копирования"
- добавлены пункты меню:
--- Копировать шаблон Поиска
--- Копировать шаблон Замены
--- Копировать Поиск||Замена
--- Копировать Key=Поиск||Замена
--- Копировать Поиск!!Замена
--- Копировать &&Поиск!!Замена
--- Копировать 0!!Поиск!!Замена
[+] Добавлено меню по нажатию правой кнопкой мыши по полю "Шаблоны поиска"
[±] Исправлены действия некоторых пунктов, при которых пропадала подсветка в поле "Шаблоны поиска"

17.10.2016 [2.4]
[±] Исправлена ошибка допущенная в прошлой версии[/helpquote]



 
asmadeusДата: Среда, 26.10.2016, 14:38 | Сообщение № 11
Генерал-полковник

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1006
Награды: 25
Репутация: 28
Andrey_A, как всегда, забираем. В последнее время очень у меня востребована
 
asmadeusДата: Понедельник, 14.11.2016, 19:12 | Сообщение № 12
Генерал-полковник

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1006
Награды: 25
Репутация: 28
А у меня вопросик... Пока не осилил.
Есть страница и ей подобные
Работаю с буфером, скрипт в целом пашет, это добавление. Вот копирую текст в буфер
Код
Obverse

3rd Portrait Queen Elizabeth II facing right

Lettering:
ELIZABETH II AUSTRALIA 1985
RDM

Engraver: Raphael David Maklouf

Reverse

Male Superb Lyrebird (Menura novaehollandiae), value superimposed.

Lettering:
10
SD

Engraver: Stuart Devlin

Edge

Reeded

А на выходе надо получить:
Код

Текст Аверса
ELIZABETH II AUSTRALIA 1985
RDM
Текст реверса
10
SD

Для меня проблема оказалась в одинаковых словах, ну никак не вытяну то, что хочу
 
Andrey_AДата: Понедельник, 14.11.2016, 21:09 | Сообщение № 13
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 6409
Награды: 98
Репутация: 87
Аверин Андрей
asmadeus, при сложных вещах почему бы не сделать 2 прохода, первым получить основное, далее подработать...
Регулярка не панацея, с подобным частенько сталкиваемся, поэтому в TCIMG создан formt<> в котором через запятую прописываются шаблоны. Бывает и 2мя, 3мя проходами не удаётся получить желаемой. Кроме того где-то нужен "поиск и замена", а где-то просто "поиск"...

.


 
asmadeusДата: Понедельник, 14.11.2016, 21:15 | Сообщение № 14
Генерал-полковник

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1006
Награды: 25
Репутация: 28
Andrey_A, скриптик небольшой, но переписывать его на основе утилиты я не планировал, да и получится скорее всего. Ладно, что то придумаю
 
Andrey_AДата: Понедельник, 14.11.2016, 21:39 | Сообщение № 15
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 6409
Награды: 98
Репутация: 87
Аверин Андрей
asmadeus, я не про переписывание говорил, а про использование нескольких проходов по тексту, чтобы получить нужное и о том, что я и другие (к примеру shveicar) постоянно сталкиваемся с тем, что не всегда можно получить желаемое за один раз...

.


 
Форум » • Программы • Утилиты • » Утилиты » RegExp и вопросы по регулярным выражениям
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Сообщите о находке всему миру:
Рейтинг@Mail.ru Тиц и pr сайта Яндекс.Метрика

Интеллектуальные права и отказ от ответственности


Перейти на сайт Недвижимость сточи