Please enable JavaScript to use regex101
/
^
r
e
g
e
x
[
\
-
_
]
?
1
0
1
$
/
i
Reg
ular
Ex
pressions
101
Upgrade to Pro
Enterprise
Regular Expression
/
<(?:div|ul|li)(?:.*?(?:class|data-ss)="([^"]+)")?(?:.*?(?:class|data-ss)="([^"]+)")?[^>]*>
/
gm
Input 1
1
New
<div class="noproblem"> <ul class="noproblem" data-ss="1"> <li class="noproblem" data-ss="1"> /* <i> is not my tag. but there's no problem with that. because it's underneath! .*/ <i class="no_problem"></i> </li> </ul> </div> <div class="noproblem" data-ss"1"> /* problem: data-ss is not accepted */ <ul class="noproblem" data-ss="1"> /* <i> is not my tag. my tags: div|ul|li .*/ <li class="noproblem"><i class="this_is_problem"></i> </li> </ul> </div> <div class="noproblem"> <ul class="noproblem"> /* <i> is not my tag. my tags: div|ul|li .*/ <li class="noproblem"><i class="this_is_problem"></i> </li> /* <span> is not my tag. my tags: div|ul|li .*/ <li class="test"><span class="this_is_problem"></span></li> /* (li class empty version): <span> is not my tag. my tags: div|ul|li .*/ <li><span class="this_is_problem"></span></li> </ul> </div>
Extraction
<div class="noproblem"> <ul class="noproblem" data-ss="1"> <li class="noproblem" data-ss="1"> /* <i> is not my tag. but there's no problem with that. because it's underneath! .*/ <i class="no_problem"></i> </li> </ul> </div> <div class="noproblem" data-ss"1"> /* problem: data-ss is not accepted */ <ul class="noproblem" data-ss="1"> /* <i> is not my tag. my tags: div|ul|li .*/ <li class="noproblem"><i class="this_is_problem"></i> </li> </ul> </div> <div class="noproblem"> <ul class="noproblem"> /* <i> is not my tag. my tags: div|ul|li .*/ <li class="noproblem"><i class="this_is_problem"></i> </li> /* <span> is not my tag. my tags: div|ul|li .*/ <li class="test"><span class="this_is_problem"></span></li> /* (li class empty version): <span> is not my tag. my tags: div|ul|li .*/ <li><span class="this_is_problem"></span></li> </ul> </div>