不定期收录遇到的正则问题

前端之家收集整理的这篇文章主要介绍了不定期收录遇到的正则问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

收录1:论坛里帮人解决的一个问题,奈何没被采纳,不过感觉还是挺有用的,收录一下:只匹配两个连续的字符,多于两个同样的字符不被匹配

<script>
var str ='mmjavascriptmm haha,test string mmmmmmmmmmm 有很多mm,但只匹配连续的两个m';
document.write(str.replace(/((?:[^m]+|^)([m]{2})(?!m))/g,'$1{替换的内容}'));
</script>

收录2:论坛里帮人解决的一个问题

有一个字符串变量:
varstring=<ahref="http://bbs.csdn.net/"target="_blank">http://bbs.csdn.net/</a>csdn真好;
我想用正则替换替换string变量是的“csdn”为:<spanclass='hightlight'>csdn</span>;但是得排除连接a标签内的"csdn"


<script>
var string = 'csdn<a href="http://bbs.csdn.net/" target="_blank">http://bbs.csdn.net/</a>csdnisnicecsdn';
alert(string.replace(/csdn(?![^<]*>)/g,"<span class='hightlight'>csdn</span>"));
</script>


收录2:手工解析简单xml

xml文件里有特殊字符,影响了xml的合法性,但是还必须保留特殊字符,因此只能手工解析(运用了正则的反向引用) key(1-12)

preg_match_all("/\<(key1|key2|key3|key4|key5|key6|key7|key8|key9|key10|key11|key12)\>\<\!\[CDATA\[([^\]]+)\]\]\>\<\/\\1\>/",iconv("utf-8","gbk//IGNORE",$data1),$match1,PREG_SET_ORDER);

猜你在找的正则表达式相关文章