2016-06-22 26 views
-3

正規表現に基づいてhtml属性を選択したいとします。 Follwingは、HTMLマークアップ以下の正規表現に基づいて一致する文字列です。パターン内の特定のパターンを除外する正規表現

 colspan="2" 
    bgcolor="#FFFFFF" 
    height="28" 
    psdtyle="font-stretch: normal; font-size: 12px; line-height: 1.5;" 
    align="center" 
    style="word-wrap: break-word; margin: 5px 0px;" 
    size="2" 

((\ + W)= "[-ZA-Zの# - :0-9;] *")

今、本当の問題は、私はCOLSPANを除外するされ、つまりはcolspan =」 2 "は一致しません。

<td colspan="2" bgcolor="#FFFFFF" height="28" psdtyle="font-stretch: normal; font-size: 12px; line-height: 1.5;"> 
    <p align="center" style="word-wrap: break-word; margin: 5px 0px;"><font size="2">Shoulder</font></p> 
    </td 
+0

タイトルと投稿をスペルチェックしてください。ところで、HTMLを分析するためにregexpを使用しないでください。また、HTML属性を2006年のように使用しているのはなぜですか? –

答えて

3

あなたは私は、これはトリックやるべきだと思いcolspan属性

var td = document.querySelector("tr td"); 
 
var attrs = td.attributes; 
 
for (var i = 0; i < attrs.length; i++) { 
 
    if (attrs[i].name !== "colspan") 
 
    console.log(attrs[i].name, attrs[i].value) 
 
}
<table> 
 
    <tr> 
 
     <td colspan="2" bgcolor="#FFFFFF" height="28" psdtyle="font-stretch: normal; font-size: 12px; line-height: 1.5;"> 
 
    <p align="center" style="word-wrap: break-word; margin: 5px 0px;"><font size="2">Shoulder</font></p> 
 
    </td> 
 
    </tr> 
 
    </table>

1

を除外するif条件を使用し、forループ内の要素をattributes繰り返すことができます:

((\b(?!colspan\b)(\w+))\s?=\s?["'][a-zA-Z#-:0-9 ;]*["']) 
関連する問題