Регулярные выражения на все случаи жизни

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 361
Благодарностей
8 647
Баллы
113
Рябят помогите с регуляркой родной помощник не справляется.
дано урл нада с него взять 2740
ссылка-ссылка-ссылка-ссылка-ссылка-ссылка-ссылка-ссылка-2740.html
Юзал конструктор но из-за многих ---- берет не то что нужно.
дергать только число тоже не вариант в самой ссылке кроме нужного могут встречатся и другие числа
ссылка-ссылка-15лка-ссылка-сс36ка-ссылка-ссылка-ссылка-2740.html
а нужно именно то что в конце
Попробуйте такую:
Регулярка:
([^-]+(?=\.html))
44998
 
Последнее редактирование:
  • Спасибо
Реакции: сергос

Tony Soprano

Новичок
Регистрация
07.11.2018
Сообщения
29
Благодарностей
6
Баллы
3
Рябят помогите с регуляркой
есть список:

Australien
Bella
Bella
Bella
Bildband
Chance
Charakter
Hintergrundinfos
Ihrer
Inspirationsquelle
Italia
Italia
Italia
Italien
Italiens
Italiens
Kirschen
kochen
kochen

Нужно из списка взять слова которые повторяються 2 и более раз и чтоб регулярка необращала внимание написанны ли слова с большой буквы или нет.

Результат должен быть такой:

Bella
Italia
kochen
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 361
Благодарностей
8 647
Баллы
113
Рябят помогите с регуляркой
есть список:

Australien
Bella
Bella
Bella
Bildband
Chance
Charakter
Hintergrundinfos
Ihrer
Inspirationsquelle
Italia
Italia
Italia
Italien
Italiens
Italiens
Kirschen
kochen
kochen

Нужно из списка взять слова которые повторяються 2 и более раз и чтоб регулярка необращала внимание написанны ли слова с большой буквы или нет.

Результат должен быть такой:

Bella
Italia
kochen
Вот тут, вроде бы то что вам нужно:
 

Tony Soprano

Новичок
Регистрация
07.11.2018
Сообщения
29
Благодарностей
6
Баллы
3
sergodjan66
Благодарю за помощь. Здесь на форуме топиков пять я нашол, которые обсуждают данную проблему. Тобиш нужно получить именно дубли из списка или текста. Решения не в одной ветке так и ненашлось.

Решение с C# из этой ветки нерабочее:

Единственно что работает это примерно такое решение:
Сохраняем исходный файл отдельно, как duplicate.txt, например -> удаляем дубли из исходного списка -> сохраняем результат в отдельный файл, например, origin.txt -> берем первую строку с удалением из файла origin.txt -> удаляем ее из duplicate.txt -> зацикливаем
В результате в duplicate.txt получаем все найденные дубли.
Но здесь минусы в том что если чекать слово за словом то
1. будут браться не только нужные слова, к примеру возьмёт из моего списка слово "Italien" и хотя оно одно, то его найдёт как дубль, потому как в списке есть ещё такие слова как "Italiens"
2. Проверка по списку очень долгое и ресурсоёмкое занятие .
 

сергос

Client
Регистрация
30.03.2015
Сообщения
27
Благодарностей
13
Баллы
3
  • Спасибо
Реакции: Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 361
Благодарностей
8 647
Баллы
113

Вложения

Последнее редактирование:
  • Спасибо
Реакции: Tony Soprano

Tony Soprano

Новичок
Регистрация
07.11.2018
Сообщения
29
Благодарностей
6
Баллы
3
Огромное спасибо. Занимает конечно довольно много времени. Но работает. Если кто то всётаки сможет осилить и написать регулярку по моему запросу, который описан выше, то буду премного благодарен.
 

quickmouse

Client
Регистрация
19.11.2010
Сообщения
84
Благодарностей
3
Баллы
8
Ребят, помогите удалить последнюю строку из файла(она же перенос), т.е. либо последний перенос строки в файле либо всю последнюю строку
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 361
Благодарностей
8 647
Баллы
113
Ребят, помогите удалить последнюю строку из файла(она же перенос), т.е. либо последний перенос строки в файле либо всю последнюю строку
Если файл у вас привязан к списку, то проще через экшен Операции над списком - Удалить строку по номеру и указать end.

45147
 
  • Спасибо
Реакции: quickmouse

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
630
Благодарностей
539
Баллы
93

quickmouse

Client
Регистрация
19.11.2010
Сообщения
84
Благодарностей
3
Баллы
8

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 361
Благодарностей
8 647
Баллы
113
  • Спасибо
Реакции: quickmouse

An_To_Ha

Client
Регистрация
27.09.2010
Сообщения
19
Благодарностей
3
Баллы
3
Приветствую! Подскажите регулярку которая выбирала бы из списка доменов все домены третьего уровня.
 

bartenev

Client
Регистрация
15.01.2015
Сообщения
43
Благодарностей
8
Баллы
8
Подскажите есть ли где толковый мануал(помимо вики, там мало и непонятно), как парсить группами
C#:
<div class="tbl tbl-item">
                <div class="tbl-sub-item">011051</div>
                <div class="tbl-sub-item grow">ФИО</div>
                <div class="tbl-sub-item">
                    <div class="btn-group">
                        <a href="/export/judiciary/1370/CalcDebtByDateReport.pdf" target="_blank" class="btn btn-primary btn-sm indent">
                            <i class="fa fa-file-pdf-o"></i> Детализация
                       <a href="#" external_account="vk" external_uid="30395405" order_id="57116" class="btn btn-primary btn-sm indent judiciary_photoData">
                            <i class="fa"></i> Фото
                        </a>
                    </div>
                </div>
Это кусок кода, часть удалена, так что могут быть незакрытые теги......
Таких групп очень много, мне нужно вывести в табличку 011051 ФИО 1370 30395405 57116
 

igoreff

Client
Регистрация
24.02.2011
Сообщения
176
Благодарностей
20
Баллы
18
Помогите пожалуйста, нужна регулярка, что бы удалить все строки содержащие кириллицу.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 361
Благодарностей
8 647
Баллы
113
Помогите пожалуйста, нужна регулярка, что бы удалить все строки содержащие кириллицу.
Берете строку из списка и с помощью Обработка текста - Regex пробуете из нее парсить кириллицу
регуляркой::
(?i)[а-яё]+
После этого с помощью IF экшена, результат парсинга сравниваете с пустотой, соотв если пустота, то строка не содержит кириллицу, если что то нашлось, то содержит. Соответственно, удаляете строку, если там нашлась кириллица.
 
  • Спасибо
Реакции: igoreff

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 361
Благодарностей
8 647
Баллы
113
Подскажите есть ли где толковый мануал(помимо вики, там мало и непонятно), как парсить группами
C#:
<div class="tbl tbl-item">
                <div class="tbl-sub-item">011051</div>
                <div class="tbl-sub-item grow">ФИО</div>
                <div class="tbl-sub-item">
                    <div class="btn-group">
                        <a href="/export/judiciary/1370/CalcDebtByDateReport.pdf" target="_blank" class="btn btn-primary btn-sm indent">
                            <i class="fa fa-file-pdf-o"></i> Детализация
                       <a href="#" external_account="vk" external_uid="30395405" order_id="57116" class="btn btn-primary btn-sm indent judiciary_photoData">
                            <i class="fa"></i> Фото
                        </a>
                    </div>
                </div>
Это кусок кода, часть удалена, так что могут быть незакрытые теги......
Таких групп очень много, мне нужно вывести в табличку 011051 ФИО 1370 30395405 57116
По групповым регуляркам не спец, но можно думаю с такими же временными затратами сделать последовательный парсинг несколькими отдельными стандартными (не групповыми) регулярками.
Приложил пример шаблона с регулярками.

46439


Либо составной регуляркой, через "|" в список и потом этот список объединить в переменную с пробельными разделителями. Удобно пользоваться встроенным в ПМ конструктором рег-выражений.
 

Вложения

  • Спасибо
Реакции: bartenev

igoreff

Client
Регистрация
24.02.2011
Сообщения
176
Благодарностей
20
Баллы
18
Еще один вопрос, в тексте остается куча мусора в виде знаков препинания в разных вариациях
.,,.. текст текст,.,.,, текст текст.?;., текст текст.!,,.,

ну и так далее, идут они подряд без пробелов, как заменить все их например на точку, вот сами знаки
,.?!:;
 

igoreff

Client
Регистрация
24.02.2011
Сообщения
176
Благодарностей
20
Баллы
18
Регулярку нашел такую, вроде пашет
C#:
 ?([\.\!\?\:\,\:\;\ ]){2,}(?=|$)
 
  • Спасибо
Реакции: Sergodjan

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
630
Благодарностей
539
Баллы
93
Требуется помощь, а именно, в переменной строки, вида:
Код:
185.139.70.40;255.255.255.0;185.139.70.1
88.11.170.41;12.11.104.22;185.139.70.104
185.139.70.42
185.139.71.141;255.255.255.255;185.139.70.120
185.139.70.142
101.12.51.165;167.12.4.55;78.11.170.6
99.139.76.95
Вопрос: Как взять только первые ip-адреса, чтобы на выходе было:
Код:
185.139.70.40
88.11.170.41
185.139.70.42
185.139.71.141
185.139.70.142
101.12.51.165
99.139.76.95
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 361
Благодарностей
8 647
Баллы
113
Требуется помощь, а именно, в переменной строки, вида:
Код:
185.139.70.40;255.255.255.0;185.139.70.1
88.11.170.41;12.11.104.22;185.139.70.104
185.139.70.42
185.139.71.141;255.255.255.255;185.139.70.120
185.139.70.142
101.12.51.165;167.12.4.55;78.11.170.6
99.139.76.95
Вопрос: Как взять только первые ip-адреса, чтобы на выходе было:
Код:
185.139.70.40
88.11.170.41
185.139.70.42
185.139.71.141
185.139.70.142
101.12.51.165
99.139.76.95

Вариант с построчной обработкой в цикле (берем строку из списка и обрабатываем ее регуляркой).
Регулярка:
^.*?(?=(;|$))
 
  • Спасибо
Реакции: Ilshakin

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
630
Благодарностей
539
Баллы
93
Вариант с построчной обработкой в цикле (берем строку из списка и обрабатываем ее регуляркой).
Регулярка:
^.*?(?=(;|$))
А без использования списка, возможно ли сделать?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 361
Благодарностей
8 647
Баллы
113
А без использования списка, возможно ли сделать?
Тут нужно другую регулярку, более хитрую, т.к. якоря начала и конца строки (^$) не отрабатываются если не строка, а целиком текст.
 
  • Спасибо
Реакции: Ilshakin

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
630
Благодарностей
539
Баллы
93
Тут нужно другую регулярку, более хитрую, т.к. якоря начала и конца строки (^$) не отрабатываются если не строка, а целиком текст.
C#:
^.*?(?=(;|$))
Данная регулярка не подходит, к сожалению - она берет только первый ip-адрес до ";"
 

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 868
Благодарностей
1 114
Баллы
113
Требуется помощь, а именно, в переменной строки, вида:
Код:
185.139.70.40;255.255.255.0;185.139.70.1
88.11.170.41;12.11.104.22;185.139.70.104
185.139.70.42
185.139.71.141;255.255.255.255;185.139.70.120
185.139.70.142
101.12.51.165;167.12.4.55;78.11.170.6
99.139.76.95
Вопрос: Как взять только первые ip-адреса, чтобы на выходе было:
Код:
185.139.70.40
88.11.170.41
185.139.70.42
185.139.71.141
185.139.70.142
101.12.51.165
99.139.76.95
;\d{2,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}

Очищаете по регулярке и получаете готовый список ip
 
  • Спасибо
Реакции: Ilshakin

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
630
Благодарностей
539
Баллы
93

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 868
Благодарностей
1 114
Баллы
113
47226
 

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 868
Благодарностей
1 114
Баллы
113

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
630
Благодарностей
539
Баллы
93

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 868
Благодарностей
1 114
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)