Задать вопрос
kocherman
@kocherman

Как научить регулярное выражение, чтобы preg_match_all искала строки где нет подмаски?

Например, есть регулярное выражение

"^.*<a.*$"

которое ищет все строки с ссылками.

Как сделать такое выражение, чтобы preg_match_all выдало все строки где нет ссылок?

UPD Проблема в том, что я не могу ничего использовать кроме регулярного выражения, скрипт обфусцирован. Внедрить свою логику не получится.

Miraage, Я не уверен, так как не вижу логики, но ищет оно по строкам по файлу. То есть вполне возможно, что там он рыскает по файлу и каждую строку чекает preg_match.
  • Вопрос задан
  • 4083 просмотра
Подписаться 3 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
TROODON
@TROODON
/ Everybody stand back /
i know regular expressions


Регулярка:
/^(?>(?!(\<a.*href)|\<\/a).)*$/umi

Пример:
ideone.com/g5vDT
Исходник примера:
pastebin.com/ZkWguPS2
Ответ написан
Meliborn
@Meliborn
Что то мне подсказывает, что тут нужен XPath :)
Ответ написан
@Hint
По-моему возможны только «урезанные варианты».
Без буквы a: ^[^a]+$
Без скобки: ^[^<]+$
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы