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

Подскажите плиз регулярку! Поиск 8 значного числа перед которым > и после которого <

Проще говоря 8 значное число заключенное в >число< скобки

Нужно только число
 
Подскажите плиз регулярку! Поиск 8 значного числа перед которым > и после которого <

Проще говоря 8 значное число заключенное в >число< скобки

Нужно только число

Если правильно вас понял, то эта регулярка
C#:
Развернуть Свернуть Копировать
(?<=>)\d{8}(?=<)
 
  • Спасибо
Реакции: andropovleva
Вопрос: а какого стандарта регулярные выражения поддерживаются в Зенке? Какие онлайн-сервисы или программы вы используете для конструирования сложных выражений?

Я вот смотрю на популярный сервис Regexr, на котором огромная библиотека готовых сниппетов... Ни одна регулярка оттуда в Зенке (по-крайней мере, в Тестере регулярок) нормально не отрабатывается, хотя на Regexr они в двух форматах: PCRE (Server), JavaScript (Browser).

Если брать сниппеты оттуда, то надо ещё как-то их редактировать, чтобы они начали работать? Помогите!
 
Вопрос: а какого стандарта регулярные выражения поддерживаются в Зенке? Какие онлайн-сервисы или программы вы используете для конструирования сложных выражений?

Я вот смотрю на популярный сервис Regexr, на котором огромная библиотека готовых сниппетов... Ни одна регулярка оттуда в Зенке (по-крайней мере, в Тестере регулярок) нормально не отрабатывается, хотя на Regexr они в двух форматах: PCRE (Server), JavaScript (Browser).

Если брать сниппеты оттуда, то надо ещё как-то их редактировать, чтобы они начали работать? Помогите!
Заготовка тут.
Проверка тут:
95218
 
Можно ли регуляркой без цикла заменить в строке все вхождения повторяющихся подряд заданных символов на одно?
Например заменить все точки и восклицательные знаки на единственные экземпляры.
Было: Привет!!!!!! Отлично....
Стало: Привет! Отлично.

С пробелами работает такое:
Regex.Replace(str, @"\s+", " ", RegexOptions.Multiline);
а вот как такое же сделать с другими заданными символами?
[SOLVED]
Оказывается всё просто:
Regex.Replace(str, @"!+", "!", RegexOptions.Multiline);
 
  • Спасибо
Реакции: djaga
подскажите пожалуйста какой регуляркой в emeditor-e отобрать строки с двумя символами в строке :

текст:текст:текст:текст
текст:текст
текст:текст:текст:текст
текст:текст

нужны строки, включающие два :

т.е. на входе
example@163.com:pass
smtp.vodafone.it:465:example@vodafone.it:pass
example@orange.fr:pass
smtp.montevideo.com.uy:465:example@montevideo.com.uy:pass
 
Последнее редактирование:
Как обработать, чтобы оставить только текст ZennoPoster - это просто. Не требует специальных знаний, чтобы начать работу
"zBAuLc l97dzf"><div class="BNeawe vvjwJb AP7Wnd">ZennoPoster - это просто. Не требует специальных знаний, чтобы начать работу
 
Как обработать, чтобы оставить только текст ZennoPoster - это просто. Не требует специальных знаний, чтобы начать работу
Обработка текста - Замена (на пустоту) по регулярке: .*>
 
  • Спасибо
Реакции: udder
Подскажите плиз регулярку, поиск 15 значного числа начинающегося с 1000
 
  • Спасибо
Реакции: Sho
  • Спасибо
Реакции: Sho
нет, что то не так в начале 1000 , должно типо искать все числа такие 100012345678912

а находит вот:
Посмотреть вложение 97978
Все верно, он находит все числа выше 1000 (1001 и т.д.)
Почему же тогда нормально не написали и не привели примеры?

Тогда вот:
Поиск всех вариантов с началом "1000"
1000\d+

upd:
Поиск только 15ти значного числа:
1000\d{11}
Пример для тестов
 
Последнее редактирование:
Все верно, он находит все числа выше 1000 (1001 и т.д.)
Почему же тогда нормально не написали и не привели примеры?

Тогда вот:
Поиск всех вариантов с началом "1000"
1000\d+

upd:
Поиск только 15ти значного числа:
1000\d{11}
Прошу прощения, не подумал что двусмысленно описал.
 
  • Спасибо
Реакции: Sho
Доброе время суток!Помогите с регуляркой что не так (?<=HTTP/1\.1\>).*?(?=\)
Или подскажите другую,нужно спарсить значение Post запроса если 200 или 303,то идет дальше,если другое то ошибка и шаблон по красной нитке.За ранее благодарен.
 
Последнее редактирование:
Доброе утро!
Ответ всегда состоит из 3 цифр и эта комбинация из 3-х цифр всегда идет первой, так что регулярка простая, даже я справлюсь \d{3}
Также, набросал пример использования.

C#:
Развернуть Свернуть Копировать
string body = project.Variables["POST"].Value;// переменная с ответом
int[] codes = new int[]{200,303};// коды удовлетворяющих ответов
int code;
if(int.TryParse(Regex.Match(project.Variables["POST"].Value, @"\d{3}").Value, out code)){
    if(codes.Contains(code)){
        return code;
    }
    else throw new Exception($"Код ответа: {code}");
}
else throw new Exception($@"Ошибка получения данных: ""{body}"" .");
 
Доброе утро!
Ответ всегда состоит из 3 цифр и эта комбинация из 3-х цифр всегда идет первой, так что регулярка простая, даже я справлюсь \d{3}
Также, набросал пример использования.

C#:
Развернуть Свернуть Копировать
string body = project.Variables["POST"].Value;// переменная с ответом
int[] codes = new int[]{200,303};// коды удовлетворяющих ответов
int code;
if(int.TryParse(Regex.Match(project.Variables["POST"].Value, @"\d{3}").Value, out code)){
    if(codes.Contains(code)){
        return code;
    }
    else throw new Exception($"Код ответа: {code}");
}
else throw new Exception($@"Ошибка получения данных: ""{body}"" .");
А теперь для особо одаренных
 

Вложения

  • Безымянный.png
    Безымянный.png
    11,9 KB · Просмотры: 234
  • Спасибо
Реакции: Sanekk
Предупреждение за некорректное поведение!
Предупреждение администрации форума.
А теперь для особо одаренных открывает вики и читаем. Тебе помогают - ты еще и огрызаешься, фу.
Во первы ты кто такой? Ты что ли помог? Во вторых где я огрытзаюсь умник,Я обращаюсь к тому человеку который мне помог,если другим тяжело.
 
Последнее редактирование модератором:
Предупреждение администрации форума.

Во первы ты кто такой? Ты что ли помог? Во вторых где я огрытзаюсь умник,Я обращаюсь к тому человеку который мне помог,если другим тяжело.
Не считаю сообщение по типу "Для особо одаренных" - корректным и с достаточным уровнем уважения. Читай вики и шпаргалки по регуляркам.
 
  • Спасибо
Реакции: djaga
Не считаю сообщение по типу "Для особо одаренных" - корректным и с достаточным уровнем уважения. Читай вики и шпаргалки по регуляркам.
Ахаха, а я подумал, что он себя так назвал , "Для особо одаренных" :D
 
  • Спасибо
Реакции: djaga
А теперь для особо одаренных
Я ж в своём сообщении указал и саму регулярку. Туда, где стрелочка на Вашем скриншоте ее и вставьте. А пример с кодом выполняет описанное Вами дальнейшее действие и его надо вставлять в отдельный кубик «Свой код С#».
Ничего не понял, что тут за кипиш был, но, видимо, кто-то кого-то неправильно понял, так как выражение устоявшееся и вполне себе так недвусмысленное, даже если захотеть.
А насчёт Вики… надо бы и полистать хотя бы приличия ради.
 
  • Спасибо
Реакции: djaga и barabaka
Я ж в своём сообщении указал и саму регулярку. Туда, где стрелочка на Вашем скриншоте ее и вставьте. А пример с кодом выполняет описанное Вами дальнейшее действие и его надо вставлять в отдельный кубик «Свой код С#».
Ничего не понял, что тут за кипиш был, но, видимо, кто-то кого-то неправильно понял, так как выражение устоявшееся и вполне себе так недвусмысленное, даже если захотеть.
А насчёт Вики… надо бы и полистать хотя бы приличия ради.
Спасибо за адекватный ответ.Вики читал и делал по примерам, далёк от этого вот и написал сюда.А парнишка решил поумничать в не ту сторону. Ещё раз спасибо.
 
  • Спасибо
Реакции: Alexmd
Помогите с регуляркой. Нужно из текста:

$M('bs').onAddBetSlipCache(['s',[[104273604,4702415,2,'PBA Commissioner\'s Cup',1,'Rain or Shine Elasto Painters','Bay Area Dragons',1.98,'11/11/2022 15:00','a','-26.50',1,0,0,1,'Bay Area Dragons',1.55,1,43,0,0,0,'','',0,0,38504,0]],0]);

Выдернуть два значения.
  1. 1.98
  2. -26.50
При условии, что текст до и после этих значении динамичный, а пунктуация одинаковая
 
Помогите с регуляркой. Нужно из текста:

$M('bs').onAddBetSlipCache(['s',[[104273604,4702415,2,'PBA Commissioner\'s Cup',1,'Rain or Shine Elasto Painters','Bay Area Dragons',1.98,'11/11/2022 15:00','a','-26.50',1,0,0,1,'Bay Area Dragons',1.55,1,43,0,0,0,'','',0,0,38504,0]],0]);

Выдернуть два значения.
  1. 1.98
  2. -26.50

Условие поменял)
 
Помогите с регуляркой. Нужно из текста:

$M('bs').onAddBetSlipCache(['s',[[104273604,4702415,2,'PBA Commissioner\'s Cup',1,'Rain or Shine Elasto Painters','Bay Area Dragons',1.98,'11/11/2022 15:00','a','-26.50',1,0,0,1,'Bay Area Dragons',1.55,1,43,0,0,0,'','',0,0,38504,0]],0]);

Выдернуть два значения.
  1. 1.98
  2. -26.50
При условии, что текст до и после этих значении динамичный, а пунктуация одинаковая
Попробуйте такие (для 1 и 2 соотв.):
(?<=',\d+,[\w\W]+','[\w\W]+',).*?(?=,'\d+/\d+/\d+)
(?<=\d+:\d+','.',').*?(?=',\d)
 
  • Спасибо
Реакции: Alexmd и Markoonij
(?<=',\d+,[\w\W]+','[\w\W]+',).*?(?=,'\d+/\d+/\d+)
(?<=\d+:\d+','.',').*?(?=',\d)
когда вижу такие регулярки, дурно становится
Я б так сделал
C#:
Развернуть Свернуть Копировать
string data = "$M('bs').onAddBetSlipCache(['s',[[104273604,4702415,2,'PBA Commissioner\'s Cup',1,'Rain or Shine Elasto Painters','Bay Area Dragons',1.98,'11/11/2022 15:00','a','-26.50',1,0,0,1,'Bay Area Dragons',1.55,1,43,0,0,0,'','',0,0,38504,0]],0]);";
//соберу в массив значения, разбив строку на запятые
var split = data.Split(',').ToArray();
//посмотрю какие номера совпадений "мои"
for(int i = 0; i< split.Length; i++){
    project.SendInfoToLog(i + " = " +split[i]);
}
//выбираю нужные значения
project.SendInfoToLog(split[8]);
project.SendInfoToLog(split[11].Replace("'",""));
 
  • Спасибо
Реакции: Markoonij и Sergodjan
когда вижу такие регулярки, дурно становится
Я б так сделал
C#:
Развернуть Свернуть Копировать
string data = "$M('bs').onAddBetSlipCache(['s',[[104273604,4702415,2,'PBA Commissioner\'s Cup',1,'Rain or Shine Elasto Painters','Bay Area Dragons',1.98,'11/11/2022 15:00','a','-26.50',1,0,0,1,'Bay Area Dragons',1.55,1,43,0,0,0,'','',0,0,38504,0]],0]);";
//соберу в массив значения, разбив строку на запятые
var split = data.Split(',').ToArray();
//посмотрю какие номера совпадений "мои"
for(int i = 0; i< split.Length; i++){
    project.SendInfoToLog(i + " = " +split[i]);
}
//выбираю нужные значения
project.SendInfoToLog(split[8]);
project.SendInfoToLog(split[11].Replace("'",""));
Спасибо!
 
Последнее редактирование:

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