0

Perl 正規表現の問題に直面しています。img 要素で、rel、class、alt src 属性を一致させたい。ただし、alt 属性が存在する場合、alt 属性は必須の一致である必要があり、そのテキストをフェッチする必要があります。しかし、alt 属性の存在に関する問題に直面しています。Firefox と chrome では alt 属性が src 属性の後に存在し、IE ブラウザーでは src 属性の前に存在します。

必須の一致として alt 属性が必要なため、src 属性の前に来ることもあれば、src 属性の後に来ることもあります。以下は img 要素のソースです。助けてください!

Chrome および Firefox の場合:

<img rel="lightbox[45876]" src="/file?id=13455" class="bbc_img" alt="effectgames777.jpg">
<img rel="lightbox[45876]" src="/file?id=13455" class="bbc_img">

IE ブラウザーの場合:

<img rel="lightbox[45876]" class="bbc_img" alt="effectgames777.jpg" src="/file?id=13455">
<img rel="lightbox[45876]" class="bbc_img" src="/file?id=13477">

以下の perl regex を作成しましたが、alt 属性が必須として一致していません。助けてください!

<img(?:|\s+rel="[^"]*")(?:|\s+class="[^"]*")(|\s+alt="([^"]*)") src\=\"(http\:\/\/domain\.com\/(\d+)\/thumb\/(\d+)|\/file\?id\=(\d+))\"(?:|\s+class="[^"]*")(|\s+alt="([^"]*)")\>
4

1 に答える 1