最終目的...特定の属性/値を持つDIVのグループを取得し、要素タイプを更新して、属性と値を操作する...
次のシナリオをテストするために正規表現を使用したいと思います(上記の目的に基づいて正しいと思います)
- オープニング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
これはチェックする属性を持つ開始divを持っているので、string1に戻ってきていると思いますが、値は無効ですか?だから私は最初のDIVを取得し、次に他のDIVを見つけるまで任意attribute-to-check='value-contains:
の数の文字を取得し、その後DIVを閉じるのかどうか疑問に思っていますか?
私はこの時点からナビゲートするのに苦労しており、コミュニティからのヘルパーに感謝します:)
ありがとうディラン