Non greedy match in Vim Regex
:%/<.\{-}>
" %    => match the WHOLE file in current buffer
" \{-} => non-greedy match, match as less as possible 
" match html from open-angle-bracket to close-angle-bracket 
" e.g. => match "<div id=cat>"
Alternative to accomplish the same thing
:%/<[^>]*>
" %    => match the WHOLE file in current buffer
" [^>] => [ ] is Character classes, ^ => NOT match  
" *    => zero or more 
" e.g. match <div class="myclass">
" Note: => it will match "<>" too
Can we do better? Yes
:%/<[^>]\+>
" %    => match the WHOLE file in current buffer
" [^>] => [ ] is Character classes, ^ => NOT match  
" \+   => one or more 
" e.g. match <div class="myclass">
" Note: => it will NOT match "<>" since "<>" is not a valid HTML tag