0

class を持たない DIV タグのみのコンテンツを取得したい文字列がありますimage

私はこの正規表現を使用しています:

#<\s*?div\b[^>]*class="[^image]">(.*?)</div\b[^>]*>#s

ただし、クラスのタグだけでなく、すべての DIV タグをエスケープします。image

4

2 に答える 2

1

代わりにDOM パーサーを使用した方がよいでしょう。

いずれにせよ、これはあなたが求めていることを行うべき正規表現です:

<div[^>]+class="(?!(?:.+ )?image(?: .+)?")([^"]+)"

デモ: http://rubular.com/r/eekxdFdmFR

于 2013-06-12T09:22:24.613 に答える
0

この式は、 ANDなどの文字[^image]を含まないクラスのみを検索します。たぶん、否定的な先読みがうまくいくでしょう:im

#<\s*?div\b[^>]class=\"(?:(?!image).)*\">(.?)*>#s

なども却下しclass="images"ますが、これが良いきっかけになれば幸いです。:)

]PS: 最後が必要かどうかはわかりませんが、私の正規表現にはありません。

于 2013-06-12T09:02:00.623 に答える