class を持たない DIV タグのみのコンテンツを取得したい文字列がありますimage
。
私はこの正規表現を使用しています:
#<\s*?div\b[^>]*class="[^image]">(.*?)</div\b[^>]*>#s
ただし、クラスのタグだけでなく、すべての DIV タグをエスケープします。image
class を持たない DIV タグのみのコンテンツを取得したい文字列がありますimage
。
私はこの正規表現を使用しています:
#<\s*?div\b[^>]*class="[^image]">(.*?)</div\b[^>]*>#s
ただし、クラスのタグだけでなく、すべての DIV タグをエスケープします。image
代わりにDOM パーサーを使用した方がよいでしょう。
いずれにせよ、これはあなたが求めていることを行うべき正規表現です:
<div[^>]+class="(?!(?:.+ )?image(?: .+)?")([^"]+)"
この式は、 ANDなどの文字[^image]
を含まないクラスのみを検索します。たぶん、否定的な先読みがうまくいくでしょう:i
m
#<\s*?div\b[^>]class=\"(?:(?!image).)*\">(.?)*>#s
なども却下しclass="images"
ますが、これが良いきっかけになれば幸いです。:)
]
PS: 最後が必要かどうかはわかりませんが、私の正規表現にはありません。