[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: ХарВик, simup, Andrey_A, chip642  
ОБСУЖДЕНИЕ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ
Andrey_AДата: Четверг, 19.07.2012, 02:29 | Сообщение № 1
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
ОБСУЖДЕНИЕ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ




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


 
Andrey_AДата: Четверг, 31.07.2014, 19:36 | Сообщение № 16
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
Цитата aleksey_shashuto1 ()
Может есть решение такого.


Решение относительное, т.к. есть сокращения, из-за которых происходит ошибочные переносы

Что: [bgcolor=yellow] ?([^ \.\(\r\n][^ \.\r\n][^\r\n][\.\?\!]) [/bgcolor]
Чем: [bgcolor=LawnGreen]$1\r\n[/bgcolor]

[v] Регулярные выражения
[ ] Учитывать регистр
[ ] Многострочно
[v] Esc-последовательности
[ ] Заменять на функцию




Накидал скрипт, в который можно прописывать отрезки игнорирующие перенос, проверял на 3-х файлах, но для большей вероятности правильной обработки надо тестировать на сотнях файлах, добавляя отрезки.

SplitTextOnLine.vbs - Разбить выделенный текст на строки, каждое предложение с новой строки.


 
asmadeusДата: Воскресенье, 26.10.2014, 08:06 | Сообщение № 17
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Андрей, привет! Вопрос по регулярным выражениям, правда , в autoit'e, а не AkelPad'e. Но думаю, что регулярка есть регулярка :D
Итак, суть:
-в файле ищется строка
Код
Поле = [1,1,1]

В результате я должен получить только то, что в скобках. Прекрасно работало так:
Код
\R(поле.*)\R - это для поиска
"поле", ".+\[(.+)\].+", "$1" - это для извлечения

Итак, то, что есть, я описал. Проблема:
-если в файле есть строка например
Код
Полено = [1,1,1]

то регулярка ищет и его. Аналогично при сохранении в файл - заменяются все совпадения. Как исправить выражение для поиска именно того, что указано и не считать, если слово для поиска является частью другого слова?
Ну как то так...
 
Andrey_AДата: Воскресенье, 26.10.2014, 08:37 | Сообщение № 18
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
asmadeus, привет!

Код
Как исправить выражение для поиска


Прописать после поле символ пробела

Код
'\R(поле .*)\R'


при замене тоже искать "поле " с пробелом


 
asmadeusДата: Воскресенье, 26.10.2014, 09:54 | Сообщение № 19
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Andrey_A, да блин....
Чувствую, это для меня останется темным лесом. Работает, пробую далее.
 
IngvarДата: Воскресенье, 31.05.2015, 20:45 | Сообщение № 20
Рядовой

На сайте с: 31.05.2015
Город: Москва
Сообщений: 2
Награды: 0
Репутация: 0
Помогите составить регулярное выражение для AkelPad. Есть часть строки:
Код
посторонний текст href="часть_пути/другая_часть_пути.htm" domain="ИмяФайла.chm" дальше постронний текст

Нужно между href и chm найти символ /, а затем заменить его точкой. Пока что нашел как выделить эту строку целиком (между href и chm), а как найти в ней косую черту не могу понять.
Подскажите пожалуйста.


Сообщение отредактировал Ingvar - Воскресенье, 31.05.2015, 20:48
 
Andrey_AДата: Понедельник, 01.06.2015, 03:58 | Сообщение № 21
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
Ingvar,
что искать
Код
(href="[^"]*)/([^"]*.*\.chm")

чем заменять
Код
\1.\2


 
IngvarДата: Понедельник, 01.06.2015, 11:18 | Сообщение № 22
Рядовой

На сайте с: 31.05.2015
Город: Москва
Сообщений: 2
Награды: 0
Репутация: 0
Спасибо, работает. Вот только если в выражении несколько косых черт, то заменяется только последнее. Можно сделать чтобы убирались все? Или просто сделать несколько прогонов?
И еще вопрос. Как можно исправить регулярное выражение, чтобы в этой же строке убрать .htm? То есть заменить пустым символом. Меня устроит отдельной операцией.
 
Andrey_AДата: Понедельник, 01.06.2015, 13:27 | Сообщение № 23
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
Код
Вот только если в выражении несколько косых черт, то заменяется только последнее. Можно сделать чтобы убирались все

Есть скрипт SearchReplace.js в котором можно зам на функцию:
Что:
Код
(href="[^"]*/[^"]*)(.htm)(.*\.chm")


чем:
Код
$1.replace(/([/])/g,".")+$3


расставляем галочки:



Цитата
Как можно исправить регулярное выражение, чтобы в этой же строке убрать .htm


что:
Код
(href="[^"]*/[^"]*)(.htm)(.*\.chm")

чем:
Код
$1.replace(/([/])/g,".")+$3


Галочки те же.


 
Andrey_AДата: Пятница, 16.10.2015, 12:53 | Сообщение № 24
Генералиссимус

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


Последние сообщения обсуждения перенесены в тему http://tc-image.3dn.ru/forum/11-446-13934-16-1444741515
т.к. они имели отношения не AkelPad, а к Total Commander...
----------
Для тестирования регулярных выражений могу порекомендовать утилиту RegExp



 
chip642Дата: Пятница, 30.08.2019, 18:46 | Сообщение № 25
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
forumups

Ваш вопрос и ответ на него перенесены в соответствующую тему.
 
asmadeusДата: Пятница, 26.06.2020, 22:07 | Сообщение № 26
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Доброго времени суток!
Прошу помочь понять суть - есть текст (часть исходного кода страницы, выложил как файл, качать по ссылке):

Надо получить эту ссылку:
Код
https://uploadrar.com/rv0gs42td91e

То есть ссылку на самую новую версию.
Из-за повторяющихся тегов не могу отсечь ненужное.
На подобных других страницах - все нормально. Реализовано кодом (Autoit):
Код
$Fshare = StringRegExpReplace($Fshare,'(?is).+('&$Pr&'.+'&$PrVUpd&'.+green.+(?:Зеркало|Uploadrar)\<\/a\>).+(?:\(uploadrar\))?.+','\1')
$Fshare = StringRegExpReplace($Fshare,'(?is).+href=\h*"(.+?)".+','\1')
 
Andrey_AДата: Суббота, 27.06.2020, 15:33 | Сообщение № 27
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
asmadeus, там одинаковые теги - выходит 4 ссылки:

Строка поиска:
Код
(?i)<a class="fr-text-green" href="(https://uploadrar.com[^"<>]+)" target="_blank" rel="noopener external noreferrer">Зеркало


[img640]http://tc-image.3dn.ru/Image/Regex/0/rgxasm.png[/img640]

.


 
asmadeusДата: Суббота, 27.06.2020, 16:57 | Сообщение № 28
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Andrey_A, да, только разный текст перед тегами... Ладно, будем мыслить.Я своими получаю только последнее значение.
 
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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