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

А регулярку составить не получается(
Без регулярок. Работает нормально
Код:
Развернуть Свернуть Копировать
var list = project.Lists["list"];
int r;
bool str;
do
{
    Random rnd = new Random();
    r = rnd.Next(0, list.Count - 1);
    str = ((!list[r].Contains("<option value=\"-1\">- Select -")) && (!list[r].Contains("[out of stock]"))) ? false : true;
   
}while(str);
return list[r];
 
  • Спасибо
Реакции: xopek2007
Без регулярок. Работает нормально
Код:
Развернуть Свернуть Копировать
var list = project.Lists["list"];
int r;
bool str;
do
{
    Random rnd = new Random();
    r = rnd.Next(0, list.Count - 1);
    str = ((!list[r].Contains("<option value=\"-1\">- Select -")) && (!list[r].Contains("[out of stock]"))) ? false : true;
  
}while(str);
return list[r];
запусти со списком, где все строки не подходят)
 
  • Спасибо
Реакции: xopek2007 и SergSh
xopek2007 Еще вариант
Код:
Развернуть Свернуть Копировать
var list = new List<string>(project.Lists["list"]);
list.Shuffle();
for(int i = 0; i < list.Count; i++)
{
    if((!list[i].Contains("<option value=\"-1\">- Select -")) && (!list[i].Contains("[out of stock]")))return list[i];
}
return "0";
 
  • Спасибо
Реакции: xopek2007
Да, спасибо большое, работает. А возможно взять не содержимое а номер строки?
 
Вместо return list (i); return i; ?
 
Вместо return list (i); return i; ?
Вот еще вариант. Второй список для стоп строк. Вернет false если совсем ничего нет или номер строки
Код:
Развернуть Свернуть Копировать
var list = new List<string>(project.Lists["list"]);
list.Shuffle();
var list2 = project.Lists["list2"];
for(int i = 0; i < list.Count; i++)
{
    for(int j = 0; j < list2.Count; j++)
    {
        if((list2[j].Contains(list[i])) || (list[i].Contains(list2[j]))) break;
        if(j == list2.Count - 1)return i;
    }
}
return "false";
 
  • Спасибо
Реакции: xopek2007
Код:
Развернуть Свернуть Копировать
var list = new List<string>(project.Lists["list"]);
list.Shuffle();
for(int i = 0; i < list.Count; i++)
{
    if((!list[i].Contains("<option value=\"-1\">- Select -")) && (!list[i].Contains("[out of stock]")))return i;
}
return "0";
Возвращает 0
Код:
Развернуть Свернуть Копировать
var list = new List<string>(project.Lists["list"]);
list.Shuffle();
for(int i = 0; i < list.Count; i++)
{
    if((!list[i].Contains("<option value=\"-1\">- Select -")) && (!list[i].Contains("[out of stock]")))return list[i];
}
return "0";
Возвращает содержимое строки.
С этим уже можно работать, но:(( изначально парсится список :
Код:
Развернуть Свернуть Копировать
<option value="-1">- Select -
White / Rush Orange-Black
AH8511-001[out of stock]
Bn8511-1v0
11[out of stock]
12
13
А когда выбран первый селект содержание списка выглядит так:
Код:
Развернуть Свернуть Копировать
<option value="-1" selected="selected">- Select -
White/Hyper Jade-Obsidian
И сниппет возвращает "not match":(
А этот вариант:
Код:
Развернуть Свернуть Копировать
var list = new List<string>(project.Lists["list"]);
list.Shuffle();
var list2 = project.Lists["list2"];
for(int i = 0; i < list.Count; i++)
{
    for(int j = 0; j < list2.Count; j++)
    {
        if((list2[j].Contains(list[i])) || (list[i].Contains(list2[j]))) break;
        if(j == list2.Count - 1)return i;
    }
}
return "false";
тоже возвращает 0
 

Вложения

Последнее редактирование:
А этот вариант:
последний вариант вернул номер строки 0. список перемешивается перед каждым запуском сниппета
попробуй этот кусок
Код:
Развернуть Свернуть Копировать
 if(j == list2.Count - 1)return i;
заменить на
Код:
Развернуть Свернуть Копировать
 if(j == list2.Count - 1)return list[i] + i;
пару разиков запусти и посмотри на результат в логе
 
  • Спасибо
Реакции: xopek2007
Строка парсится нормально а номер строки как бог пошлет:)
 
Блин, все равно берет иногда не то, что надо:(
 

Вложения

Подскажите, о великие!
Как быстро превратить:
2.3K -> 2300
 
Как вариант. Все короче городушки которую я сгородил. Спасибо.
 
Подскажите, как удалить из строки - Невеста из Стамбула (Istanbullu Gelin) скобки и всё, что внутри скобок? Бывает и так - Istanbullu Gelin (Istanbullu Gelin)
 
Подскажите, как удалить из строки - Невеста из Стамбула (Istanbullu Gelin) скобки и всё, что внутри скобок? Бывает и так - Istanbullu Gelin (Istanbullu Gelin)
Код:
Развернуть Свернуть Копировать
project.Variables["str"].Value = Macros.TextProcessing.Replace(project.Variables["str"].Value, "\\(.*\\)", "", "Regex", "All");
 
  • Спасибо
Реакции: Vinovnik
Гуру помогите пожалуйста решением.
Нужна регулярка которая возьмет атрибут href из кода
но не все подряд,а только те у которых есть слово PAGEN
пример кода
<a href="/distribution/multimedia_projectors/?PAGEN_1=2" onclick="BX.ajax.insertToNode('/distribution/multimedia_projectors/?PAGEN_1=2&amp;bxajaxid=f8ea4c331537e2638387ce2cbf7a376e',
результат /distribution/multimedia_projectors/?PAGEN_1=2
 
Нужно удалять даты в конце строк, если они там есть.
Пример
Код:
Развернуть Свернуть Копировать
Peanut M&M's , but tests show  Peanut Butter M&M's  are  gluten - free ! Jul 17, 2017
Можно ли это сделать регулярками?
 
Нужно удалять даты в конце строк, если они там есть.
Пример
Код:
Развернуть Свернуть Копировать
Peanut M&M's , but tests show  Peanut Butter M&M's  are  gluten - free ! Jul 17, 2017
Можно ли это сделать регулярками?
(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[0-9,\ ]{8,9}$

or

([A-Z]{1}[a-z]{2})[0-9,\ ]{7,9}$
 
  • Спасибо
Реакции: Astraport
  • Спасибо
Реакции: Vinovnik и doc
  • Спасибо
Реакции: Vinovnik
Господа, есть тексты
[ Главное меню (10) ] [Уведомления (5) ] [ Баланс ]

Нужна регулярка, которая оставит в итоге только текст со скобками (из этого [ Главное меню (10) ] сделает это[ Главное меню ])
 
Господа, есть тексты
[ Главное меню (10) ] [Уведомления (5) ] [ Баланс ]

Нужна регулярка, которая оставит в итоге только текст со скобками (из этого [ Главное меню (10) ] сделает это[ Главное меню ])
Регулярка:
Код:
Развернуть Свернуть Копировать
\ \(.*?\)\
Через экшен Обработка текста - Замена (Regex):

upload_2018-9-21_19-56-54.png


upload_2018-9-21_19-57-16.png
 
Помогите из этой ссылки (атрибуты ссылки постоянно меняются)
Код:
Развернуть Свернуть Копировать
https://video-1-102.xxxx.ru/grobot/rNn3nTjhSUH2BGAjgcRszQ/1538012574/120/0x500003970ba81c92/ed4eaec35c664af9a4baab35a03cfae0.mp4?i=360x360_688

Выдрать вот эту часть (тоже постоянно разное)
Код:
Развернуть Свернуть Копировать
ed4eaec35c664af9a4baab35a03cfae0
 
Помогите из этой ссылки (атрибуты ссылки постоянно меняются)
Код:
Развернуть Свернуть Копировать
https://video-1-102.xxxx.ru/grobot/rNn3nTjhSUH2BGAjgcRszQ/1538012574/120/0x500003970ba81c92/ed4eaec35c664af9a4baab35a03cfae0.mp4?i=360x360_688

Выдрать вот эту часть (тоже постоянно разное)
Код:
Развернуть Свернуть Копировать
ed4eaec35c664af9a4baab35a03cfae0
Код:
Развернуть Свернуть Копировать
[^\/]+(?=\.mp4)
upload_2018-9-26_23-42-23.png
 
  • Спасибо
Реакции: doc и CmauJluk

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