Что нового

Поиск одной из строк

viter

Новичок
Сообщения
40
Репутация
1
Как в задать условие поиска одной из строк? В моем случае нужно отфильтровать строки содержащие jpg или gif

Код:
StringRegExp($aSubURLs[$j], '[(jpg)(gif)]', 0)


Задача вроде довольно простая но самому правильно составить код почему то не получается и поиск не помог.
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Код:
$a='asfasfasf.jpg'
MsgBox(32,'',StringRegExp($a, 'jpg|gif'))
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
Код:
#include <Array.au3>
$sText= _
'D:\Docum\File.gif' & @CRLF & _
'D:\Docum\File.xls' & @CRLF & _
'D:\Docum\File.jpg' & @CRLF & _
'D:\Docum\File.txt'

$Array=StringRegExp($sText, '(?mi)^(.*?(?:jpg|gif))\r?$', 3)
If @error Then Exit
_ArrayDisplay($Array, 'Array')
 
Автор
V

viter

Новичок
Сообщения
40
Репутация
1
Возможно ли теперь в это выражение:
Код:
$aUrs = StringRegExp($sRead,'(?i)(//[^\h''"]*'&$sHost&'[^\h''"])' , 3)

добавить исключения \.jpg|\.gif|\.css|\.rar|\.png
т.е. исключить из полученного массива все элементы содержащие вышеуказанные расширения.
Интересует решение именно в рамках данного выражения, перезапись массива с удалением элементов отдельной функцией я реализовал.
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
Не совпадение образца справа
(?!\.jpg|\.gif|\.css|\.rar|\.png)
А вообще лучше выкладывать приблизительные строки, в которых искать, и какой должен быть результат (иногда приблизительный код). А то очередная игра в "Угадай регулярное выражение с трёх букв". Откуда можно узнать где находится jpg, в конце строки, в средине или вся строка jpg. Телепатов на форуме вроде нет. Уже два ответа соврешенно разных. Выкладывать в нескольких варинтах для всех случаев жизни нет ни желания ни времени.
 
Автор
V

viter

Новичок
Сообщения
40
Репутация
1
Не совпадение образца справа
(?!\.jpg|\.gif|\.css|\.rar|\.png)
Обьясните пожалуйста куда это тут
Код:
$aUrs = StringRegExp($sRead,'(?i)(//[^\h''"]*'&$sHost&'[^\h''"])' , 3)

нужно вставить? У меня ничего с этим не вышло еще до написания вопроса.

Это может быть любой текст где встречается строки - ссылки подходящие по заданным параметрам поиска и среди этих уже найденных строк программа должна выбрать только те которые не содержат данные расширения
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
Тогда 2 рег.выр. первым извлекается строки по некторому формату, вторым (1 ответ) проверяется вхождение для каждой строки в цикле.
 
Верх