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

Не совсем понял о чем Вы..

103323
 
добрый день. Как в конструкторе рег выражений поменять \n на \s?
Есть текст, в каждой строке по 1 слову. нужно его привести в читабельный вид...
 
добрый день. Как в конструкторе рег выражений поменять \n на \s?
Есть текст, в каждой строке по 1 слову. нужно его привести в читабельный вид...

Кубик "Данные - Обработка текста" в двух режимах: Regex (1-ый скриншот) и Text (2-ой скриншот).

103420


103421
 
  • Спасибо
Реакции: AleXPrischepA и sps75
Спасибо, про стринг спейс прописью я даже не подумал)
 
редко стал заглядывать в этот топик, chatgpt отлично выдает регулярки :bu:
 
  • Спасибо
Реакции: stanar
полезная статья, спасибо автору
 
slovo1-slovo2-slovo3 как заменить здесь последний дефис на точку
строка может быть с тремя и более дефисами, всегда нужно заменять последний дефис. Помогите регуляркой
 
slovo1-slovo2-slovo3 как заменить здесь последний дефис на точку
строка может быть с тремя и более дефисами, всегда нужно заменять последний дефис. Помогите регуляркой
106119
 
  • Спасибо
Реакции: udder
Можете, пожалуйста, помочь составить регулярное выражение для этой строки:

C#:
Развернуть Свернуть Копировать
Район, 3 ком., 108 кв.м., 7/22 этаж

Нужно получить отдельно
  1. район
  2. количество комнат
  3. метраж
  4. этажность
Реально это одной регулярной сделать? ChatGPT попробовал - не понимает задачу.
 
Можете, пожалуйста, помочь составить регулярное выражение для этой строки:

C#:
Развернуть Свернуть Копировать
Район, 3 ком., 108 кв.м., 7/22 этаж

Нужно получить отдельно
  1. район
  2. количество комнат
  3. метраж
  4. этажность
Реально это одной регулярной сделать? ChatGPT попробовал - не понимает задачу.
Обработка текста -> Split Указываете в виде разделителя запятую и в какие переменные должны упасть значения после разделения строки. Нумирация переменных начинается с нуля
 
  • Спасибо
Реакции: Hannes и ex3maL
Обработка текста -> Split Указываете в виде разделителя запятую и в какие переменные должны упасть значения после разделения строки. Нумирация переменных начинается с нуля
Спасибо! Впервые воспользовался этим функционалом)
Очень удобно!
 
Помогите, пожалуйста, составить регулярное выражение! :bc:

Нужно получить:
200 ratings
Based on: 130 ratings

Осложняется всё тем, что в одном случае эти данные находятся в title, а в другом - в text. Не понимаю, как надёжно можно их получать. :(

C#:
Развернуть Свернуть Копировать
{"header":{"header_type":"rating","header_payload":{"rating":"4.7","title":"200 ratings","subtitle":"reviews"}}}
{"header":{"header_type":"info","header_payload":{"title":"Rating: 4.8","text":"Based on: 130 ratings"}}}


update:
Сделал так:
Чекаю header_type и под каждый вариант сделал свою регулярку. Если есть решение красивее поделитесь пожалуйста.
 
Последнее редактирование:
Помогите, пожалуйста, составить регулярное выражение! :bc:

Нужно получить:
200 ratings
Based on: 130 ratings

Осложняется всё тем, что в одном случае эти данные находятся в title, а в другом - в text. Не понимаю, как надёжно можно их получать. :(

C#:
Развернуть Свернуть Копировать
{"header":{"header_type":"rating","header_payload":{"rating":"4.7","title":"200 ratings","subtitle":"reviews"}}}
{"header":{"header_type":"info","header_payload":{"title":"Rating: 4.8","text":"Based on: 130 ratings"}}}


update:
Сделал так:
Чекаю header_type и под каждый вариант сделал свою регулярку. Если есть решение красивее поделитесь, пожалуйста.
Привет. Все же такое лучше получать с помощью JSON, а не регулярного выражения... Но задачка интересная)
Надеюсь, "спасибо" точно заслужил.))

Регулярное выражение: (?<="title":")[^"]+(?=")(?![^{]*"text")|(?<="text":")[^"]+(?=")

Полное решение:
Получить значение из JSON с помощью регулярного выражения:
Развернуть Свернуть Копировать
var testList = new List<string>() // данные из примера
{
    "{\"header\":{\"header_type\":\"rating\",\"header_payload\":{\"rating\":\"4.7\",\"title\":\"200 ratings\",\"subtitle\":\"reviews\"}}}",
    "{\"header\":{\"header_type\":\"info\",\"header_payload\":{\"title\":\"Rating: 4.8\",\"text\":\"Based on: 130 ratings\"}}}",
};

string pattern = @"(?<=""title"":"")[^""]+(?="")(?![^{]*""text"")|(?<=""text"":"")[^""]+(?="")";

foreach (var match in testList.Select(s => Regex.Match(s, pattern))
             .Where(match => match.Success))
    project.SendInfoToLog($"Нашел: {match.Value}");

Результат:
106670


Приложил ↓ шаблон.
 

Вложения

Подскажите с регулярочкой: удаление всего после последнего любого закрытого тега.
Например какой-то HTML, а "в конце какой текст</div><p>ещё какой-то текст" и нужно "<p>ещё какой-то текст" удалить, но при этом последний закрывающий тэг может быть не только div, но и p или что угодно.
В HtmlAgilityPack есть метод по исправлению незакрытых тегов, но он работает криво и мне нужно обрезать.
 
Подскажите с регулярочкой: удаление всего после последнего любого закрытого тега.
Например какой-то HTML, а "в конце какой текст</div><p>ещё какой-то текст" и нужно "<p>ещё какой-то текст" удалить, но при этом последний закрывающий тэг может быть не только div, но и p или что угодно.
В HtmlAgilityPack есть метод по исправлению незакрытых тегов, но он работает криво и мне нужно обрезать.
Обработка текста - Замена - режим Regex.

Что искать: (</[^>]+?>)((?!</)[\s\S])*(?!\r\n|\r|\n)$
На что заменить: $1

Работает для однострочного и многострочного текста. Протестировал на нескольких html-кодах, всё ок. Если будет отрабатывать криво - напишите.
 
  • Спасибо
Реакции: Hannes, Nord и Astraport
Привет, прошу помощи с регуляркой.
У меня автоматизированный шаблон регистрации и каждый раз в нём меняется Email. Он хранится в переменной. Чтобы подтвердить код на странице я использую экшен "Принять почту". В нём у меня уже есть регулярное выражение которое ищет код в самом письме, но есть одно но. Задача:
Нужно сначала сделать проверку письма. Если Email принимателя письма (2 скрин) идентичен тому, что находится у меня в переменной в шаблоне, то происходит выполнение регулярного выражения (1 скрин) и берётся код из письма. Можно сделать по другому, но чтобы суть не менялась.
ljuibNY.png

bBGPOBz.png
 
Привет, прошу помощи с регуляркой.
У меня автоматизированный шаблон регистрации и каждый раз в нём меняется Email. Он хранится в переменной. Чтобы подтвердить код на странице я использую экшен "Принять почту". В нём у меня уже есть регулярное выражение которое ищет код в самом письме, но есть одно но. Задача:
Нужно сначала сделать проверку письма. Если Email принимателя письма (2 скрин) идентичен тому, что находится у меня в переменной в шаблоне, то происходит выполнение регулярного выражения (1 скрин) и берётся код из письма. Можно сделать по другому, но чтобы суть не менялась.
ljuibNY.png

bBGPOBz.png
Задача решена. Больше неактуально!
 
  • Спасибо
Реакции: djaga
Есть строка вида ТТТ/123456И На конце может быть И а может и не быть. Но только И другой символ не принимается и именно в конце. Не могу правильно решить. Т.е. должно искать либо ТТТ/123456 а если в конце стоит буква то ТТТ/123456И
 
Есть строка вида ТТТ/123456И На конце может быть И а может и не быть. Но только И другой символ не принимается и именно в конце. Не могу правильно решить. Т.е. должно искать либо ТТТ/123456 а если в конце стоит буква то ТТТ/123456И
.+?(\d|И)$
Найдёт все строки, которые заканчиваются на "И" или на цифру.
 
  • Спасибо
Реакции: K R
Всем привет...
Есть большой документ html ну очень много букв в нем есть конструкции spintax {..|..|..} словосочетания(слова) разные по количеству. от 2 до ...
есть яваскрипты, есть варианты { }.
Задача собрать все эти конструкции spintax в список.


Границы { }
Вижу что явный и обязательный признак это | внутри конструкции
пробел один быть не может
символ ; тоже быть не может в конструкции [^;]
Слова и словосочетания только кириллица. думаю что то типа [0-9а-яА-Я ]

Возможно у яваскритов ещё есть какие то признаки которые стоит исключить.

Просьба помочь составить регулярку c условиями.
 
Всем привет...
Есть большой документ html ну очень много букв в нем есть конструкции spintax {..|..|..} словосочетания(слова) разные по количеству. от 2 до ...
есть яваскрипты, есть варианты { }.
Задача собрать все эти конструкции spintax в список.


Границы { }
Вижу что явный и обязательный признак это | внутри конструкции
пробел один быть не может
символ ; тоже быть не может в конструкции [^;]
Слова и словосочетания только кириллица. думаю что то типа [0-9а-яА-Я ]

Возможно у яваскритов ещё есть какие то признаки которые стоит исключить.

Просьба помочь составить регулярку c условиями.
Как-то вот так, может быть:
\{([^\}\|]+?\|){1,}[^\}\|]+?\}
 
  • Спасибо
Реакции: baracuda
Товарищи помогите решить проблему. Есть список, нужно получить цену.

(?<=-\ ).*?(?=\ ₽\ ) Этой регуляркой получаю, но если в строке ещё одна цифра, то результат такой "134 (KS слюда) - 50"

Как получать только последнее число в строке?


Космос (KS картон) - 50 ₽
Родоппи ( KS картон) - 50 ₽
Opal (KS слюда) - 50 ₽
Ту - 134 (KS слюда) - 50 ₽
 
Товарищи помогите решить проблему. Есть список, нужно получить цену.

(?<=-\ ).*?(?=\ ₽\ ) Этой регуляркой получаю, но если в строке ещё одна цифра, то результат такой "134 (KS слюда) - 50"

Как получать только последнее число в строке?


Космос (KS картон) - 50 ₽
Родоппи ( KS картон) - 50 ₽
Opal (KS слюда) - 50 ₽
Ту - 134 (KS слюда) - 50 ₽
Если перед ценой всегда стоит закрывающая скобка, то можно ее добавить в выражение.
(?<=\)\ -\ ).*?(?=\ ₽)
 

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