一般匹配任意字符都是(.*),这次妈蛋竟然不灵.原来换行和空白字符问题.
正则表达式中,“。”(点符号)匹配的是除了换行符“ ”以外的所有字符。但有时候我们需要匹配包括换行符在内的字符,经过一番搜索,发现了几种正则表达式匹配任意字符(包括换行符)的方法。
可以用 ([sS]*) ,也可以用 “([dD]*)”、“([wW]*)” 来匹配,就可以匹配包括换行符在内的任意字符。
规则 `<!-- Tocplus 15.1 -->([dD]*<!-- End of Tocplus -->`
匹配这个
<!-- Tocplus 15.1 -->里面的
<!-- End of Tocplus -->
<!-- Tocplus 15.1 --> <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`
```