regex - Using the JavaScript regular expression flavour, how to match a specific tag only when inside another specific tag? -
i want match <br>
tags inside <main>
tag , not of them:
is possible js regex? i'm trying find , replace (with regex) in files in project.
here's raw text:
<br> <main> <input> <br> <hr> <br> <etc> </main>
using dom
better parsing html text. if reason cannot use dom
here regex solution match <br>
tags between <main>
, </main>
.
/<\s*br\s*\/?>(?=.*?(?:(?!<main>)[\s\s])*?<\/main>)/gi
regex breakup:
<\s*br\s*\/?> # matches <br> or <br /> (?= # start of lookahead .*? # arbitrary text, lazy (?: # start of non-capturing group (?! # start of negative lookahead <main> # literal text <main> ) # end of negative lookahead [\s\s]*? # match 0 or more of char including newline, lazy ) # end of non-capturing group <\/main> # match </main> ) # end of lookahead /gi # make global ignore case match
Comments
Post a Comment