今天碰到项目一个需求,需要通过用户输入保存实时更新预览
其中就碰到如何匹配更新最新的内容,首先得匹配成对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>"]