我要匹配以下字符串
<div class="Step A2aModalStep Modal">
<div class="A2aModalStep Step Modal">
我尝试了这个<div class=\"[|\w*\s]*A2aModalStep.*
,但它只匹配第一个
而这个<div class=\"*.A2aModalStep.*
仅与第二行代码匹配...
我想两者都匹配
答案 0 :(得分:0)
尝试这个https://regex101.com/r/M31WYn/1/
<div class="(Step )?A2aModalStep.*>
答案 1 :(得分:0)
您已经关闭。继续捕获整个div,并为其他可能的属性添加?.*
:
const re = /<div ?.* class=["|'][\w\s]*A2aModalStep[\w\s]*["|']?.*>/
const arr = [
`<div class="Step A2aModalStep Modal">`,
`<div class="A2aModalStep Step Modal">`,
`<div id="a" class="A2aModalStep Step Modal">`,
`<div class='A2aModalStep Step Modal'>`,
`<div id='a' class='Step Modal' data-attr='b'>`,
`<div id='a' class='A2aModalStep Step Modal' data-attr='b'>`,
]
const res = arr.map(el => el.match(re) ? "match" : "no match")
console.log(res)
答案 2 :(得分:-1)
解决方法
<div class=\"[A2aModalStep|Step|Model]*\s[A2aModalStep|Step|Model]*\s[A2aModalStep|Step|Model]*\">