b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

js 正则表达式语法大全_常用的正则表达式大全_正则表达式大全(18)

电脑杂谈  发布时间:2017-03-06 07:00:33  来源:网络整理

</script> 第二个是替换object代码嵌入的flash代码替换为[swf]url[/swf]。

/<object[\s\S]*?src=([\s\S]+?)(?=\s)[\s\S]*<\/object>/i 如果是所有的属性都有双引号的话正则也需要修改。

测试如下:

<script type="text/javascript">

function replaceReg(reg,str){

return str.replace(reg,'[swf]$1[/swf]')

}

var reg = /<object[\s\S]*?src=([\s\S]+?)(?=\s)[\s\S]*<\/object>/i;

var str = '<object classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 \

codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/\

swflash.cab#version=5,0,0,0 width=255 height=250><param name=movie \

value=url><param name=quality value=high><embed src=url quality=high \

pluginspage=http://.macromedia.com/shockwave/download/index.cgi?\

P1_Prod_Version=ShockwaveFlash type=application/x-shockwave-flash \

width=255 height=250></embed></object>';

document.write(replaceReg(reg,str)+'<br />');

</script> 给属性添加双引号

给HTML标签中的属性添加双引号。

<a href=xxx>改为:<a href="xxx">

LeXRus的第一个正则如下:

/(?!\<\w+)(\s+\w+)\=([^>\"\s]+)/ig 第一个括号没看明白,JS应该是不支持。所以我擅自给删掉了,剩下的正则如下:

/(\s+\w+)\=([^>\"\s]+)/ig 第一个括号里的\s+\w+匹配的是属性名。

然后是=,不用转义。

第二个括号里的[^>\"\s]+匹配属性值。不匹配>”和空格。这里的引号不用转义。在意思不改变的情况下,稍微改了改,正则如下:

/(\s+\w+)=([^>"\s]+)/ig 需要注意的是这个正则不匹配=两边有空格的属性,例如href = xxx。相匹配的话就改成:

/(\s+\w+)\s*=\s*([^>"\s]+)/ig 代码:

str=str.replace(/(?!\<\w+)(\s+\w+)\=([^>\"\s]+)/ig,'$1="$2"'); 其中’$1=”$2”’就实现了给属性值添加上双引号。不过ncs指出了这个正则替换的几个问题,一是上面的空格问题,二是如果非标签内部有等号,且前面又恰巧有空白字符的话,它将会被误识别为属性,例如:

<a href=xxx target=yyy title = asdfasf> test=sd


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-36054-18.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...