一般匹配任意字符都是(.*),这次妈蛋竟然不灵.原来换行和空白字符问题.
正则表达式中,“。”(点符号)匹配的是除了换行符“\n”以外的所有字符。但有时候我们需要匹配包括换行符在内的字符,经过一番搜索,发现了几种正则表达式匹配任意字符(包括换行符)的方法。
可以用 ([\s\S]*) ,也可以用 “([\d\D]*)”、“([\w\W]*)” 来匹配,就可以匹配包括换行符在内的任意字符。
规则 `<!-- Tocplus 15.1 -->([\d\D]*<!-- 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 -->[\d\D]*<\!-- End of Tocplus -->' ./en`
```
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步