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

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 436
Благодарностей
9 132
Баллы
113

maryan

Client
Регистрация
04.07.2014
Сообщения
230
Благодарностей
40
Баллы
28
Как убрать строки где после символа "в "(верхний регистр)?
пример текста

хочу к тебе в гости
иду в парк
еду в Москву
в Питере

нужно убрать все тексты с названиями городов
Вариант качать базу городов не катит
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
\bв\s+[А-ЯЁ]
удалить строки удовлетворяющие рег. выражение
 
  • Спасибо
Реакции: maryan

maryan

Client
Регистрация
04.07.2014
Сообщения
230
Благодарностей
40
Баллы
28
как после каждого символа вставить пробел? можно и для np++
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
  • Спасибо
Реакции: one

katka2100

Client
Регистрация
21.11.2017
Сообщения
88
Благодарностей
3
Баллы
8
какой регуляркой парсить sitekey ключ для рекапчи, так чтобы прям сразу без ковычек и всего лишнего?
 

katka2100

Client
Регистрация
21.11.2017
Сообщения
88
Благодарностей
3
Баллы
8
всё, конструктором регулярных выражений сделал.
(?<=data-sitekey=")[^"]*
вот такое у меня получилось
 
  • Спасибо
Реакции: doc

Yuras

Client
Регистрация
05.01.2012
Сообщения
15
Благодарностей
3
Баллы
3
Исходный код в переменной:
Код:
<a class="small" href="https://сайт.ру/раздел/тут-12любые-буквы67-и-45цифры-цифры">
Нужно получить все, что стоит между последним дефисом и кавычкой.

Я смог это сделать через создание промежуточной переменной так:
Код:
(?<=<a\ class="small"\ href="https://сайт\.ру/раздел/).*?(?=")
и последующей обработкой этой переменной так:
Код:
(?<=-)[^-]+$
Подозреваю, что есть более элегантное решение. Прошу помочь. :-)
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Исходный код в переменной:
Код:
<a class="small" href="https://сайт.ру/раздел/тут-12любые-буквы67-и-45цифры-цифры">
Нужно получить цифры, стоящие между последним дефисом и кавычкой.

Я смог это сделать через создание промежуточной переменной так:
Код:
(?<=<a\ class="small"\ href="https://сайт\.ру/раздел/).*?(?=")
и последующей обработкой этой переменной так:
Код:
(?<=-)[^-]+$
Подозреваю, что есть более элегантное решение. Прошу помочь. :-)
Код:
(?<=-)\d+(?=">)
 
  • Спасибо
Реакции: Yuras

Yuras

Client
Регистрация
05.01.2012
Сообщения
15
Благодарностей
3
Баллы
3
спасибо, работает!
 
Последнее редактирование:

katka2100

Client
Регистрация
21.11.2017
Сообщения
88
Благодарностей
3
Баллы
8
Извиняюсь за нубство)
Подскажите, найти любую букву?
Любая цифра- \d , а буква как?)
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 436
Благодарностей
9 132
Баллы
113
  • Спасибо
Реакции: katka2100

katka2100

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

katka2100

Client
Регистрация
21.11.2017
Сообщения
88
Благодарностей
3
Баллы
8
Ответ нашёл, пустое значение - ^$ (^ - начало строки $- конец строки)
Вопрос, можно ли, и если да то как использовать регулярное выражение в кубике if?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Ответ нашёл, пустое значение - ^$ (^ - начало строки $- конец строки)
Вопрос, можно ли, и если да то как использовать регулярное выражение в кубике if?
нельзя. Можно искать текст по регулярке через обработку текста, а потом просто проверять результирующую переменную на пустоту
 

katka2100

Client
Регистрация
21.11.2017
Сообщения
88
Благодарностей
3
Баллы
8
нельзя. Можно искать текст по регулярке через обработку текста, а потом просто проверять результирующую переменную на пустоту
а как проверить результирующую переменную на пустоту в случае с if ?
{-Variable.x-}== что?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 436
Благодарностей
9 132
Баллы
113
  • Спасибо
Реакции: doc

Enigma

Client
Регистрация
16.06.2017
Сообщения
187
Благодарностей
31
Баллы
28
Подскажите, плиз. Есть вот значения такого плана

QZO6_59UV8_KITB7BGV_9fs
OEAB_U6029T0S8_A63b
g3_3RGe23ZF3_1XR67A
XLdIZS_d55O09_xccu

Мне надо получить ту часть, которая идет после последней _
Т.е. вот эти значения:

9fs
A63b
1XR67A
xccu

Какой регуляркой это можно сделать?
 

Profits

Client
Регистрация
20.07.2016
Сообщения
37
Благодарностей
14
Баллы
8
Подскажите, плиз. Есть вот значения такого плана

QZO6_59UV8_KITB7BGV_9fs
OEAB_U6029T0S8_A63b
g3_3RGe23ZF3_1XR67A
XLdIZS_d55O09_xccu

Мне надо получить ту часть, которая идет после последней _
Т.е. вот эти значения:

9fs
A63b
1XR67A
xccu

Какой регуляркой это можно сделать?
(?<=_)[^_]+$
 
  • Спасибо
Реакции: Enigma

Enigma

Client
Регистрация
16.06.2017
Сообщения
187
Благодарностей
31
Баллы
28
Шикарно, огромное спасибо!
 

lexadze

Client
Регистрация
02.07.2018
Сообщения
28
Благодарностей
8
Баллы
3
Подскажите пожалуйста регулярное выражение при парсинге, чтобы оставалось только значение: "дубить кожу", "дубленная кожа", "кожа"
href="/keywords/?q=%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C%20%D0%B4%D1%80%D0%B0%D0%BA%D0%BE%D0%BD%D0%B0%20%D0%B8%D0%B3%D1%80%D0%B0">дубить кожу</a>

href="/keywords/?q=%D0%BA%D0%B0%D0%BA%20%D0%B4%D0%B5%D0%BB%D0%B0%D1%8E%D1%82%20%D0%B4%D1%80%D0%B0%D0%BA%D0%BE%D0%BD%D0%BE%D0%B2%20%D0%B2%20%D0%B8%D0%B3%D1%80%D0%B5%20%D0%BF%D1%80%D0%B5%D1%81%D1%82%D0%BE%D0%BB%D0%BE%D0%B2">дубленная кожа</a>

href="/keywords/?q=%D0%BF%D0%B5%D1%80%D0%B5%D0%BF%D1%83%D1%82%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B8%D0%B3%D1%80%D1%8B%20%D0%B8%20%D0%B4%D1%80%D0%B0%D0%BA%D0%BE%D0%BD%D0%BE%D0%B2">кожа</a
 

Profits

Client
Регистрация
20.07.2016
Сообщения
37
Благодарностей
14
Баллы
8
Подскажите пожалуйста регулярное выражение при парсинге, чтобы оставалось только значение: "дубить кожу", "дубленная кожа", "кожа"
href="/keywords/?q=%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C%20%D0%B4%D1%80%D0%B0%D0%BA%D0%BE%D0%BD%D0%B0%20%D0%B8%D0%B3%D1%80%D0%B0">дубить кожу</a>

href="/keywords/?q=%D0%BA%D0%B0%D0%BA%20%D0%B4%D0%B5%D0%BB%D0%B0%D1%8E%D1%82%20%D0%B4%D1%80%D0%B0%D0%BA%D0%BE%D0%BD%D0%BE%D0%B2%20%D0%B2%20%D0%B8%D0%B3%D1%80%D0%B5%20%D0%BF%D1%80%D0%B5%D1%81%D1%82%D0%BE%D0%BB%D0%BE%D0%B2">дубленная кожа</a>

href="/keywords/?q=%D0%BF%D0%B5%D1%80%D0%B5%D0%BF%D1%83%D1%82%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B8%D0%B3%D1%80%D1%8B%20%D0%B8%20%D0%B4%D1%80%D0%B0%D0%BA%D0%BE%D0%BD%D0%BE%D0%B2">кожа</a
(?<=>).*?(?=</a)
 
  • Спасибо
Реакции: lexadze

Molfar

Client
Регистрация
08.02.2011
Сообщения
23
Благодарностей
1
Баллы
3
удалено
 
Последнее редактирование:

Vinovnik

Client
Регистрация
10.08.2016
Сообщения
354
Благодарностей
106
Баллы
43
Как удалить из переменной все запрещенные символы для названия файлов?
 

Vinovnik

Client
Регистрация
10.08.2016
Сообщения
354
Благодарностей
106
Баллы
43
del
 
Последнее редактирование:

keltuzhaknut

Client
Регистрация
24.02.2016
Сообщения
221
Благодарностей
3
Баллы
18
Доброго времени суток, мне нужна помощь в удалении html тегов дублей, пример:
<h5> слова слова слова </h5><h5> &#8211;слова слова слова </h5><h5><h5><h5><h5> слова слова слова (2) </h5></h5></h5></h5><ul><ul><li> слова слова слова<strong> слова </strong> . All </li></ul></ul> <p> слова слова слова </p><p> слова слова слова </p><p><p><p> слова слова слова </p></p></p>

Просто брать и делать блоком замену через </p></p></p>|</p></p>|</p></p></p></p>
На </p> я могу, мне нужно понять как правильно сделать:
1) чтобы одна регулярка удовлетворила под не ограниченное количество одинаковых рядом стоящих тегов в плотную, между ними нет и не будет пробелов и слов, они все стоят вплотную </p></p></p> или <ul><ul> или </h5></h5></h5></h5> и т.д.
2) Нужно что-то подобного вида: [</h5>]{2,}
т.е. как сделать, чтобы регулярка ловила от 2 и более одинаковых тегов </h5> или <h5> или </p> и дальше сделать замену на один тег
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 436
Благодарностей
9 132
Баллы
113
Доброго времени суток, мне нужна помощь в удалении html тегов дублей, пример:
<h5> слова слова слова </h5><h5> &#8211;слова слова слова </h5><h5><h5><h5><h5> слова слова слова (2) </h5></h5></h5></h5><ul><ul><li> слова слова слова<strong> слова </strong> . All </li></ul></ul> <p> слова слова слова </p><p> слова слова слова </p><p><p><p> слова слова слова </p></p></p>

Просто брать и делать блоком замену через </p></p></p>|</p></p>|</p></p></p></p>
На </p> я могу, мне нужно понять как правильно сделать:
1) чтобы одна регулярка удовлетворила под не ограниченное количество одинаковых рядом стоящих тегов в плотную, между ними нет и не будет пробелов и слов, они все стоят вплотную </p></p></p> или <ul><ul> или </h5></h5></h5></h5> и т.д.
2) Нужно что-то подобного вида: [</h5>]{2,}
т.е. как сделать, чтобы регулярка ловила от 2 и более одинаковых тегов </h5> или <h5> или </p> и дальше сделать замену на один тег
Вам ответили тут:
https://zennolab.com/discussion/threads/reguljarnoe-vyrazhenie-udalenie-dublikatov-html-tegov.50535/
Пожалуйста, не дублируйте сообщения.
 
  • Спасибо
Реакции: keltuzhaknut

INNERSPEAKER

Новичок
Регистрация
13.08.2018
Сообщения
5
Благодарностей
1
Баллы
3
Господа знатоки, подскажите, спарсил базу данных (больше 5к сайтов). Не могу найти способ убрать все слова после доменного имени (.com | .org | .co.uk) в урлах типа https://www.{имя сайта}.com/blog/2018/06/5-common-mistakes.
Необходимо очистить все эти категории и подкатегории и оставить голый адрес на домашнюю страницу :
(https://www.{имя сайта}.com).
Перерыл всё, что мог, очень надеюсь на ваш совет!
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 436
Благодарностей
9 132
Баллы
113
Господа знатоки, подскажите, спарсил базу данных (больше 5к сайтов). Не могу найти способ убрать все слова после доменного имени (.com | .org | .co.uk) в урлах типа https://www.{имя сайта}.com/blog/2018/06/5-common-mistakes.
Необходимо очистить все эти категории и подкатегории и оставить голый адрес на домашнюю страницу :
(https://www.{имя сайта}.com).
Перерыл всё, что мог, очень надеюсь на ваш совет!
Регулярка:
Код:
(https://|http://).*?(?=/.*/)
upload_2018-8-14_23-22-30.png
 

INNERSPEAKER

Новичок
Регистрация
13.08.2018
Сообщения
5
Благодарностей
1
Баллы
3

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