Бесплатно напишу регулярное выражение. Часть 2.

  • Автор темы Автор темы LightWood
  • Дата начала Дата начала
Обычный экшен "Обработка текста" > "Trim" чем не устраивает?
Если переменная из проекта:
Код:
Развернуть Свернуть Копировать
return project.Variables["Text"].Value.Trim();
Если переменная только в коде:
Код:
Развернуть Свернуть Копировать
var text = "Text";
return text.Trim();
Спасибо даже не знал, что это можно сделать внутри программы, не используя джаву.
Может кто-то тогда еще подскажет как можно обрезать все это чтобы остались только последние две цифры (количество цифр в строке постоянно меняется, надо чтобы оставались только последние две)
 
После "Trim" поставить экшен "Обработка текста" > "Regex".
Регулярка:
Код:
Развернуть Свернуть Копировать
\d{2}$
 
Здравствуйте, не пойму как составить регулярное выражение. Нужно найти совпадение, но оно не должно входить в диапазон между символами {}. Мне нужно найти Hello, но оно не должно находиться в пределах {..произвольный текст..}

Код:
Развернуть Свернуть Копировать
{Hello world} Hello Mark! {Hello Tod} Bred Bred {Hello Silvia}

Код:
Развернуть Свернуть Копировать
(?i)[^{](hello mark)[^}]

Код:
Развернуть Свернуть Копировать
 Hello Mark!

Но регулярное выражение находит не только Hello , но символы рядом с Hello. Пробелы и другие знаки :(

https://jsfiddle.net/kzsjjdye/8/

Или на С#

Код:
Развернуть Свернуть Копировать
string s = "{Hello world} Hello Mark! {bred Hello Tod} Bred Bred {bred bred Hello Silvia}";
string pattern = @"\G(?i)(?:[^{H]+|\{.*?\}|(?!Hello).)*+\KHello";
string target = "XXX";
Regex regex = new Regex(pattern);
string result = regex.Replace(s, target);
return result;

Но блин ему не нравится вложенный квантификатор +
 
Последнее редактирование:
Может кто подскажет, нужно удалить пробелы и пустые строки. Переменная выглядит примерно так:

2007-15


пробовал с помощью кода:
var text3 = "x";
var newText3 = text3.replace(/\s+/g, '');
ничего не получается, но если в ручную убрать пустые строки, то выходит то что надо. Может кто подскажет как убрать пустые строки?
На выходе хотелось бы получить:
2007-15

пустые строки в ЗП убираются очень неординарной регуляркой, сам подбирал ее неделю в свое время
Обработка текста
\n\r
заменить на
пустота
 
А можно регуляркой взять всё что внутри дива? Например мы знаем <div class="123">, но не знаем где он закрывается и внутри пара сотен вложенных ветвей div. И нужно взять всё что входит в этот div.
 
А можно регуляркой взять всё что внутри дива? Например мы знаем <div class="123">, но не знаем где он закрывается и внутри пара сотен вложенных ветвей div. И нужно взять всё что входит в этот div.

(?<=<div\ class="123">)[\w\W]*?(?=</div>)

а нет, не то

а чем не устраивает взятие Innerhtml через конструктор действий?
 
Последнее редактирование:
Если переменная из проекта:
Код:
Развернуть Свернуть Копировать
return project.Variables["Text"].Value.Trim();
А как для нескольких переменных сразу такую операцию проделать? Что бы лишние блоки не плодить.
 
А как для нескольких переменных сразу такую операцию проделать? Что бы лишние блоки не плодить.
Код:
Развернуть Свернуть Копировать
project.Variables["Text1"].Value = project.Variables["Text1"].Value.Trim();
project.Variables["Text2"].Value = project.Variables["Text2"].Value.Trim();
project.Variables["Text3"].Value = project.Variables["Text3"].Value.Trim();
 
  • Спасибо
Реакции: Automator
Код:
Развернуть Свернуть Копировать
project.Variables["Text1"].Value = project.Variables["Text1"].Value.Trim();
project.Variables["Text2"].Value = project.Variables["Text2"].Value.Trim();
project.Variables["Text3"].Value = project.Variables["Text3"].Value.Trim();
Спасибо.
Я использую для этого кода блок "Свой код С#" он настаивает, что бы я выбрал какую-нибудь переменную, что бы положить в нее результат операции. Но для этого скрипта в этом нет никакого смысла. Какое максимально разумное применение можно найти этой переменной? Или можно как-то по другому этот код применить?
 
Спасибо.
Я использую для этого кода блок "Свой код С#" он настаивает, что бы я выбрал какую-нибудь переменную, что бы положить в нее результат операции. Но для этого скрипта в этом нет никакого смысла. Какое максимально разумное применение можно найти этой переменной? Или можно как-то по другому этот код применить?
Создайте любую переменную, например "CodeResult", туда просто будет прописываться результат работы кода, т.е. "ok". Так и должно быть.
Ну или если она вам мешает, то можно так:
Код:
Развернуть Свернуть Копировать
project.Variables["Text1"].Value = project.Variables["Text1"].Value.Trim();
project.Variables["Text2"].Value = project.Variables["Text2"].Value.Trim();
return project.Variables["Text3"].Value.Trim();
и переменную выбрать "Text3".
 
Последнее редактирование:
Создайте любую переменную, например "CodeResult", туда просто будет прописываться результат работы кода, т.е. "ok". Так и должно быть.
Ну или если она вам мешает, то можно так:
Код:
Развернуть Свернуть Копировать
project.Variables["Text1"].Value = project.Variables["Text1"].Value.Trim();
project.Variables["Text2"].Value = project.Variables["Text2"].Value.Trim();
return project.Variables["Text3"].Value.Trim();
и переменную выбрать Text3
В общем, я так и сделал. Думал, может более опытные пользователи подскажут как это приспособить к месту, не люблю когда что-то без дела валяется). Еще раз спасибо.
 
Помогите составить регулярку с исключением текста находящегося в тегах
Код:
Развернуть Свернуть Копировать
<td class="name">
                                    <b>
                                                                            <a href="/trade/lot/361540/2014-bell_700j_lgp.html">Bell 700J LGP</a>
на выходе нужно получить
Bell 700J LGP
 
Помогите составить регулярку с исключением текста находящегося в тегах
Код:
Развернуть Свернуть Копировать
<td class="name">
                                    <b>
                                                                            <a href="/trade/lot/361540/2014-bell_700j_lgp.html">Bell 700J LGP</a>
на выходе нужно получить
Bell 700J LGP
Заменить <[^<]+?> или <[^>]*> или <.*?> на пустоту.
 
  • Спасибо
Реакции: inotoxic
Заменить <[^<]+?> или <[^>]*> или <.*?> на пустоту.
- Это работает

Интересует, возможно ли составить конструкцию с исключением, чтобы спарсить без использования дополнительных обработок
3w3v8HZ.jpg
 
Заменить <[^<]+?> или <[^>]*> или <.*?> на пустоту.
- Это работает

Интересует, возможно ли составить конструкцию с исключением, чтобы спарсить без использования дополнительных обработок
3w3v8HZ.jpg
(?<=<.*?>).*?(?=<.*?>)
 
  • Спасибо
Реакции: inotoxic
(?<=<.*?>).*(?=<.*?>)
- работает, спасибо
 
  • Спасибо
Реакции: fri-lancer
Добрый день!

Помогите, пожалуйста, с регулярной под номер телефона для ZennoPoster.
Есть все возможные форматы телефона:

+79261234567
89261234567
79261234567
+7 926 123 45 67
8(926)123-45-67
123-45-67
9261234567
79261234567
(495)1234567
(495) 123 45 67
89261234567
8-926-123-45-67
8 927 1234 234
8 927 12 12 888
8 927 12 555 12
8 927 123 8 123

Под них 100% должна работать регулярка ^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$
Но в ZennoPoster она не работает.
На странице точно есть номера в разных форматах, а она их не видит.
Что я делаю не так?:dg:
 
А если убрать ^ и $
 
Последнее редактирование:
Помогите сделать регулярку, 2 дня ломаю голову.

То, что красным - переменное значение

Всегда начинается с:
{"id":"ЦИФРЫ ИЛИ ПУСТО","ref_id":"ЦИФРЫ ИЛИ ПУСТО",

МЕЖДУ ЗНАЧЕНИЯМИ НУЖНЫЙ КОНТЕНТ

Заканчивается:
"name":"БУКВЫ ИЛИ ПУСТО"}]},
 
Помогите сделать регулярку, 2 дня ломаю голову.

То, что красным - переменное значение

Всегда начинается с:
{"id":"ЦИФРЫ ИЛИ ПУСТО","ref_id":"ЦИФРЫ ИЛИ ПУСТО",

МЕЖДУ ЗНАЧЕНИЯМИ НУЖНЫЙ КОНТЕНТ

Заканчивается:
"name":"БУКВЫ ИЛИ ПУСТО"}]},
попробуй так
\{"id"\:"\d*","ref_id":"\d*",[\w\W]+?"name":"\w*"\}\]\},\[\/quote\]
 
Приветствую! Если не затруднит подскажите такую регулярку. есть мобильные номера:
79628667460
+79628667460
9628667460
нужен номер без кода и без последних двух цифр. вот так: 96286674
кто работает с контактиком, оценят)) заранее благодарен
 
Приветствую! Если не затруднит подскажите такую регулярку. есть мобильные номера:
79628667460
+79628667460
9628667460
нужен номер без кода и без последних двух цифр. вот так: 96286674
кто работает с контактиком, оценят)) заранее благодарен
(?<=\+*7*)9[\d]{7}
 
  • Спасибо
Реакции: Wide

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