最终目标......检索一组具有特定属性/值的DIV并更新元素类型并操纵属性和值......
我想使用 RegEx 来测试以下场景(我相信基于上述目标是正确的)
- 对于每个打开的 DIV
- 包含一个
attribute-to-check
属性- 该属性可能是也可能不是第一个属性
- 它的值包含
value-contains
- 该值可能是也可能不是属性中的第一个值(允许将来扩展)
- 找到它的关闭 DIV
- 此 DIV 本身可能包含其他 DIV -包括也将匹配的其他 DIV
那么我尝试了什么?...使用测试脚本:
<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>
我有以下正则表达式......
<?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>"
我怀疑它会带回test2
string1,因为它有一个带有待检查属性的开放 div,但该值无效?所以我想知道我是否得到第一个 DIV,然后是任意数量的字符,直到它找到任何其他字符attribute-to-check='value-contains:
,然后是关闭的 DIV?
我正在努力从这一点上导航,并感谢社区的任何帮助:)
谢谢迪伦