一般匹配任意字符都是(.*),这次妈蛋竟然不灵.原来换行和空白字符问题.
正则表达式中,“。”(点符号)匹配的是除了换行符“ ”以外的所有字符。但有时候我们需要匹配包括换行符在内的字符,经过一番搜索,发现了几种正则表达式匹配任意字符(包括换行符)的方法。
可以用 ([sS]) ,也可以用 “([dD])”、“([wW]*)” 来匹配,就可以匹配包括换行符在内的任意字符。
规则 <!-- Tocplus 15.1 -->([dD]*<!-- End of Tocplus -->
匹配这个
里面的复制代码
<script type="text/javascript">
tocplusTop=350;
tocplusLeft=55;
tocplusMinimizedImage='../../../kr08.tocplus007.com/img/minimized_ko.gif';
tocplusHAlign='right';
tocplusWidth=212;
tocplusHeight=234;
tocplusUserName='customer';
tocplusFrameColor='#f7ecee';
tocplusFloatingWindow=true;
var tocplusHost = (("https:" == document.location.protocol) ? "https://" : "http://");
document.write(unescape("%"+"3Cscript src='" + tocplusHost + "kr08.tocplus007.com/chatLoader.do?userId=wonjin' type='text/javascript'"+"%"+"3E"+"%"+"3C/script"+"%"+"3E"));
</script>
<!-- End of Tocplus -->
复制代码
shell 正则写法不兼容问题
sed -z -i 's/<!-- Tocplus 15.1 -->.*<!-- End of Tocplus -->/o/g' `grep -rlPzl '<!-- Tocplus 15.1 -->[dD]*<!-- End of Tocplus -->' ./en`