1. 程式人生 > >正則表示式匹配dom元素指定包含特定id

正則表示式匹配dom元素指定包含特定id

  今天碰到專案一個需求,需要通過使用者輸入儲存實時更新預覽

其中就碰到如何匹配更新最新的內容,首先得匹配成對dom元素,我們先用span標籤包裹,後的根據不同得id值更新不同得資料,

經過自己的不斷反覆實驗總結出了匹配正則表示式如下:

首先先寫出匹配特定屬性值的正則是

   正則表示式為reg = /\s+\@([\w-_]*)([\.\w]*)\s*=/ig //匹配含有@屬性 如@id

之後進一步匹配含有指定屬性得標籤如<span>

      首先先大概區別一下 [\s\S]* 和 .* ,兩者在單行模式下是等價的,因為.*匹配除換行符的任何字元。

      正則表示式為 reg =  /<span\s+\@\s*(id)\s*=\s*name\s+(([\s\S])*?)<\/span>/ig

例子如下:

var test = `<div @change='me'>dfa<span @id = me ></span><span @id = name >,</span></div>`
var reg = /<span\s+\@\s*(id)\s*=\s*name\s+(([\s\S])*?)<\/span>/ig
me = test.match(reg) 
結果輸出["<span @id = name >,</span>"]