Как сопоставить атрибут HTML с помощью поиска по регулярному выражению Notepad ++? - PullRequest
4 голосов
/ 28 августа 2010

Вот мой текст:

<span class="c1">Testing "this string"</span>

, и я хочу закончить этим:

<span>Testing "this string"</span>

, поэтому я попытался использовать это регулярное выражение в Notepad ++, чтобы заменить его ничем:

 class=".*"

но это соответствует:

 class="c1">Testing "this string"

Как мне остановить это совпадение после одного экземпляра "?

Ответы [ 2 ]

15 голосов
/ 28 августа 2010

По умолчанию регулярные выражения жадные (и поэтому .* будет соответствовать столько, сколько возможно , что, в вашем случае c1">Testing "this string).В общем, у вас есть два способа обойти это:

  1. Используйте модификатор nongreedy (или lazy) (.*?), который будет соответствовать как можно меньше (втвой случай, просто c1).Notepad ++ не поддерживает ленивые модификаторы.
  2. Укажите, что именно вы хотите сопоставить с class="[^"]*", что будет соответствовать всему, что не является кавычкой.В общем, это и более оптимизированное решение.
1 голос
/ 28 августа 2010
class=".*?"

сделает * ленивым .

...