Для поиска адресов, в которых отсутствует определенная часть, можно использовать отрицательную внутрипаттерновую синтаксическую конструкцию (negative lookahead) в регулярном выражении.
Например, для нахождения URL-адресов, в которых отсутствует строка "test?green" из данного списка, можно использовать следующий код:
```php
$urls = [
'https://example.com/test?red',
'https://example.com/test?green',
'https://example.com/test?blue',
'https://example.com/yellow',
];
$pattern = '/^(?!.*test\?green).*/';
foreach ($urls as $url) {
if (preg_match($pattern, $url)) {
echo $url . "\n";
}
}
```
В данном примере используется отрицательная проверка внутрипаттерновая синтаксическая конструкция `(?!.*test\?green)`, которая проверяет, что в строке не содержится последовательность "test?green". Если это условие истинно, то URL-адрес выводится на экран.