- Регистрация
- 05.09.2012
- Сообщения
- 20 407
- Благодарностей
- 9 114
- Баллы
- 113
Кубик "Данные - Обработка текста" в двух режимах: Regex (1-ый скриншот) и Text (2-ой скриншот).добрый день. Как в конструкторе рег выражений поменять \n на \s?
Есть текст, в каждой строке по 1 слову. нужно его привести в читабельный вид...
slovo1-slovo2-slovo3 как заменить здесь последний дефис на точку
строка может быть с тремя и более дефисами, всегда нужно заменять последний дефис. Помогите регуляркой
Район, 3 ком., 108 кв.м., 7/22 этаж
Обработка текста -> Split Указываете в виде разделителя запятую и в какие переменные должны упасть значения после разделения строки. Нумирация переменных начинается с нуляМожете, пожалуйста, помочь составить регулярное выражение для этой строки:
Нужно получить отдельноC#:Район, 3 ком., 108 кв.м., 7/22 этаж
Реально это одной регулярной сделать? ChatGPT попробовал - не понимает задачу.
- район
- количество комнат
- метраж
- этажность
Спасибо! Впервые воспользовался этим функционалом)Обработка текста -> Split Указываете в виде разделителя запятую и в какие переменные должны упасть значения после разделения строки. Нумирация переменных начинается с нуля
{"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"}}}
Привет. Все же такое лучше получать с помощью JSON, а не регулярного выражения... Но задачка интересная)Помогите, пожалуйста, составить регулярное выражение!
Нужно получить:
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 и под каждый вариант сделал свою регулярку. Если есть решение красивее поделитесь, пожалуйста.
(?<="title":")[^"]+(?=")(?![^{]*"text")|(?<="text":")[^"]+(?=")
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}");
Обработка текста - Замена - режим Regex.Подскажите с регулярочкой: удаление всего после последнего любого закрытого тега.
Например какой-то HTML, а "в конце какой текст</div><p>ещё какой-то текст" и нужно "<p>ещё какой-то текст" удалить, но при этом последний закрывающий тэг может быть не только div, но и p или что угодно.
В HtmlAgilityPack есть метод по исправлению незакрытых тегов, но он работает криво и мне нужно обрезать.
(</[^>]+?>)((?!</)[\s\S])*(?!\r\n|\r|\n)$
$1
Спасибо, работает!Что искать:(</[^>]+?>)((?!</)[\s\S])*(?!\r\n|\r|\n)$
Задача решена. Больше неактуально!Привет, прошу помощи с регуляркой.
У меня автоматизированный шаблон регистрации и каждый раз в нём меняется Email. Он хранится в переменной. Чтобы подтвердить код на странице я использую экшен "Принять почту". В нём у меня уже есть регулярное выражение которое ищет код в самом письме, но есть одно но. Задача:
Нужно сначала сделать проверку письма. Если Email принимателя письма (2 скрин) идентичен тому, что находится у меня в переменной в шаблоне, то происходит выполнение регулярного выражения (1 скрин) и берётся код из письма. Можно сделать по другому, но чтобы суть не менялась.
Есть строка вида ТТТ/123456И На конце может быть И а может и не быть. Но только И другой символ не принимается и именно в конце. Не могу правильно решить. Т.е. должно искать либо ТТТ/123456 а если в конце стоит буква то ТТТ/123456И
.+?(\d|И)$
Не хочет искать. (не находит) Проверял в NPP..+?(\d|И)$
Найдёт все строки, которые заканчиваются на "И" или на цифру.
У меня работает. Режим поиска указан правильно?Не хочет искать. (не находит) Проверял в NPP.
понял свою ошибку... У меня строка не заканчивается на этом. После разложения на подстроки, все работает. Спасибо большое!
Как-то вот так, может быть:Всем привет...
Есть большой документ html ну очень много букв в нем есть конструкции spintax {..|..|..} словосочетания(слова) разные по количеству. от 2 до ...
есть яваскрипты, есть варианты { }.
Задача собрать все эти конструкции spintax в список.
Границы { }
Вижу что явный и обязательный признак это | внутри конструкции
пробел один быть не может
символ ; тоже быть не может в конструкции [^;]
Слова и словосочетания только кириллица. думаю что то типа [0-9а-яА-Я ]
Возможно у яваскритов ещё есть какие то признаки которые стоит исключить.
Просьба помочь составить регулярку c условиями.
\{([^\}\|]+?\|){1,}[^\}\|]+?\}
Если перед ценой всегда стоит закрывающая скобка, то можно ее добавить в выражение.Товарищи помогите решить проблему. Есть список, нужно получить цену.
(?<=-\ ).*?(?=\ ₽\ ) Этой регуляркой получаю, но если в строке ещё одна цифра, то результат такой "134 (KS слюда) - 50"
Как получать только последнее число в строке?
Космос (KS картон) - 50 ₽
Родоппи ( KS картон) - 50 ₽
Opal (KS слюда) - 50 ₽
Ту - 134 (KS слюда) - 50 ₽
(?<=\)\ -\ ).*?(?=\ ₽)
В том то и дело, может быть скобка, точка или букваЕсли перед ценой всегда стоит закрывающая скобка, то можно ее добавить в выражение.
(?<=\)\ -\ ).*?(?=\ ₽)
(\d+) ₽$Товарищи помогите решить проблему. Есть список, нужно получить цену.