Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How I match an HTML attribute using Notepad++ regular expression search?

Here is my text:

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

and I want to end up with this:

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

so I tried to use this regex in Notepad++ to replace with nothing:

 class=".*"

but that matches this:

 class="c1">Testing "this string"

How do I stop that match after one instance of "?

like image 565
Khan Avatar asked Dec 05 '22 01:12

Khan


1 Answers

By default, regular expressions are greedy (and so .* will match as much as it possibly can, which, in your case is c1">Testing "this string). In general, you have two ways of getting around this:

  1. Use a nongreedy (or lazy) modifier (.*?), which will match as little as possible (in your case, just c1). Notepad++ doesn't support lazy modifiers, though.
  2. Specify exactly what you want to match with class="[^"]*", which will match everything that isn't a quote. In general, this is the more optimized solution, as well.
like image 114
Daniel Vandersluis Avatar answered Apr 18 '23 05:04

Daniel Vandersluis