最终目标 ...检索具有特定属性/值的一组DIV并更新元素类型并操纵属性和值...
我想使用RegEx来测试以下场景(我认为基于上述目标是正确的)
attribute-to-check
属性
value-contains
那么我尝试了什么? ...使用测试脚本:
<p>test1</p>
<DIV attribute-to-check='notvalid'>
test2
</DIV>
<p>test3</p>
<DIV attribute-to-check='value-contains:2012-12-12' class='test4'>
test5
</DIV>
<p>test6</p>
<DIV attribute-to-check='value-contains:2012-01-01' class='asd'>
test6
</DIV>
<p>test7</p>
我已经达到以下RegEx ......
<?DIV.*?attribute-to-check='value-contains:.*?>(.*?)</DIV>
但这会带回来
string 1: "<DIV attribute-to-check='notvalid'>test2</DIV>test3<DIV attribute-to-check='value-contains:2012-12-12' class='test4'>test5</DIV>"
string 2: "<DIV attribute-to-check='value-contains:2012-01-01' class='asd'>test6</DIV>"
我怀疑它会在string1中带回test2
,因为它有一个开头的div,其属性要检查,但的值无效?所以我想知道我是否得到第一个DIV然后是任意数量的字符,直到它找到任何其他attribute-to-check='value-contains:
然后关闭DIV之后?
我正在努力从这一点开始,并且会感谢来自社区的任何帮助者:)
由于 迪伦
答案 0 :(得分:0)
请Don't use regex for HTML。 No,seriously,don't。
JQuery有很棒的选择器语法来实现你想要的,真的。查看here,它会向您展示如何在文档顶部执行您想要的操作。
例如:
$('div[attribute-to-check|="value-contains:"]')
将产生具有所需属性/值约束的div。