常规表达以匹配单词,后跟空格或空白

时间:2019-12-21 17:37:51

标签: regex

我要匹配以下字符串

<div class="Step A2aModalStep Modal">
<div class="A2aModalStep Step Modal">

我尝试了这个<div class=\"[|\w*\s]*A2aModalStep.*,但它只匹配第一个

而这个<div class=\"*.A2aModalStep.*仅与第二行代码匹配...

我想两者都匹配

3 个答案:

答案 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]*\">
相关问题