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

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




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


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

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7191
Награды: 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
Город: Сочи, Хоста
Сообщений: 7191
Награды: 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
Город: Сочи, Хоста
Сообщений: 7191
Награды: 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
Город: Сочи, Хоста
Сообщений: 7191
Награды: 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
Город: Сочи, Хоста
Сообщений: 7191
Награды: 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
Город: Сочи, Хоста
Сообщений: 7191
Награды: 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, да, только разный текст перед тегами... Ладно, будем мыслить.Я своими получаю только последнее значение.
 
ilya_wДата: Суббота, 14.12.2024, 15:51 | Сообщение № 29
Рядовой

На сайте с: 14.12.2024
Город: Санкт-Петербург
Сообщений: 6
Награды: 0
Репутация: 0
Здравствуйте. Решил зарегистрироваться, чтобы попросить помощи. Занимаюсь разработкой программ для станков с ЧПУ. Часто приходится переделывать эти самые программы на разные системы, которые имеют разные языки, если можно так выразиться. Это текстовые файлы, которые иногда нужно немного, или основательно подредактировать.
Если коротко, возникла проблема в создании регулярного выражения, которое должно находить в строке слово G40, удалять это слово из строки и вставлять его в начало предыдущей строки. И так во всем тексте.
Ставить различные программы на рабочий компьютер не имею возможности, приходится обходиться подручными средствами. Такая вот проблемкаа, что посоветуете?
 
Andrey_AДата: Суббота, 14.12.2024, 18:07 | Сообщение № 30
Генералиссимус

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

При любых текстовых преобразований я всегда прошу прислать файл ДО и ПОСЛЕ (что должно быть вначале и в конце) вышлите в личку в архиве - тогда смогу дать ответ


 
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

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