Вы проверили, что селектор остается таким же? На каком сайте и в каком месте проблема и какую версию BAS используете?
Рег. выраж.. Как получить строки которые не содержат определенный текст?
-
Читается из файла текст такого вида:
in4uftszjsl8clqxzlkp7ef2obr2fioocrlct0qypsvjsvsdjs:https://site1.ru, https://site2.ru
in4uftszjsl8clqxzlkp7ef2obr2fioocrlct0qypsvjsvsdshs:https://site2.ru
in4uftszjsl8clqxzlkp7ef2obr2fioocrlct0qypsvjsvsdshs:https://site3.ruНужно с помощью рег. выраж. получить все строки которые не содержат текст "https://site3.ru"
Использовал разные готовые рег. выраж. найденные в сети для такой цели, например ^((?!https://site3.ru).)*$ вроде в regex101 выражение верное, но почему то не отрабатывает как надо с помощью действия "Извлечь все данные", возвращает пустое значение. Подскажите да, в чем тут дело, почему может не работать. -
@Benson9999 said in Рег. выраж.. Как получить строки которые не содержат определенный текст?:
Читается из файла текст такого вида:
in4uftszjsl8clqxzlkp7ef2obr2fioocrlct0qypsvjsvsdjs:https://site1.ru, https://site2.ru
in4uftszjsl8clqxzlkp7ef2obr2fioocrlct0qypsvjsvsdshs:https://site2.ru
in4uftszjsl8clqxzlkp7ef2obr2fioocrlct0qypsvjsvsdshs:https://site3.ruНужно с помощью рег. выраж. получить все строки которые не содержат текст "https://site3.ru"
Использовал разные готовые рег. выраж. найденные в сети для такой цели, например ^((?!https://site3.ru).)*$ вроде в regex101 выражение верное, но почему то не отрабатывает как надо с помощью действия "Извлечь все данные", возвращает пустое значение. Подскажите да, в чем тут дело, почему может не работать.Данные вы каким действием получаете? Скорее всего у вас список, по этому регулярное выражение не срабатывает, оно предназначено для работы со строками.
Если у вас список, вы можете пройтись по нему циклом "Foreach" и проверять совпадение в строке действием "Содержит", если строка не содержит, значит добавить её в другой список -
@Fox said in
Данные вы каким действием получаете? Скорее всего у вас список, по этому регулярное выражение не срабатывает, оно предназначено для работы со строками.
Из txt файла с помощью действия "Читать файл". Проверил действием "Является ли строкой" - является :-)
Если у вас список, вы можете пройтись по нему циклом "Foreach" и проверять совпадение в строке действием "Содержит", если строка не содержит, значит добавить её в другой список
Не хотел так реализовывать, но видимо придется.
-
@Benson9999 said in Рег. выраж.. Как получить строки которые не содержат определенный текст?:
Не хотел так реализовывать, но видимо придется.
))) это наоборот самый правильный вариант. Вы конечно можете список объединить в строку и затем парсить регуляркой, но это будет менее надёжно
-
@Fox said in
))) это наоборот самый правильный вариант.
Хм., не знал что так, мне казалось что это не оптимально, типа дополнительная проверка одних и тех же строк, вместо того чтобы сразу взять все подходящие значения.
А так все таки в рег. выраж. дело походу, попроще выражение составил, чисто чтобы проверить, отрабатывает как надо.