Отрицательное совпадение слов с регулярными выражениями - PullRequest
2 голосов
/ 25 июня 2010

Я хочу иметь возможность построить регулярное выражение, которое ищет определенный шаблон в некотором HTML-коде, где один параметр отрицается (т. Е. Найти x, где y * НЕ присутствует).

Пример: Я хочу найти параметры ширины изображения, где ширина не равна "500".

  • width="640" height="360" будет соответствовать

  • width="500" height="360" НЕ будет соответствовать

Я использую плагин поиска и замены для wordpress для запуска регулярного выражения- http://urbangiraffe.com/plugins/search-regex - он просто использует универсальный синтаксис регулярных выражений

Я могу сопоставлять простые запросы, но боюсь, что отрицание немного выше моего понимания - любая помощь будет высоко оценена.

Спасибо - Дэвид

Ответы [ 2 ]

2 голосов
/ 25 июня 2010

Вам необходимо использовать негативный прогноз :

width="(?!500)([^"]+)"
1 голос
/ 25 июня 2010

Регулярным способом сделать отрицание будет отрицательный взгляд, см. здесь .Это выглядело бы как

<img [^>]*width=(?!"500")

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

...