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

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

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

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

有一个字符串变量:
var string = <a href="http://bbs.csdn.net/" target="_blank">http://bbs.csdn.net/</a>csdn真好;
我想用正则替换替换string变量是的“csdn”为:<span class='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);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值