Text Processingflags: g
Lazy / Non-Greedy Quantifier
Demonstrate lazy quantifiers `+?` by matching the SHORTEST HTML-like tag rather than the longest greedy span.
Try it in RegexPro →Available in
Pattern
regexengine-agnostic
<.+?> (flags: g)Raw source: <.+?>
How it works
<.+?> matches an opening `<`, then ONE OR MORE characters (`.+`), then the next `>`. The `?` after `+` makes the quantifier lazy — it stops at the first `>` it sees, instead of the greedy default that would consume everything up to the LAST `>` in the string.
Examples
Input
<b>bold</b> and <i>italic</i>Matches
<b></b><i></i>
Input
<div class="foo">x</div>Matches
<div class="foo"></div>
Input
no tagsNo match
—Common use cases
- •Pulling HTML/XML tags out of a stream
- •Stripping markup with String.replace
- •Demonstrating greedy-vs-lazy in tutorials
- •Quick parsers (use a real parser for prod)