bob*_*obo 4 regex text pcre ultraedit
我想使用UltraEdit正则表达式(perl)将以下文本替换为一堆html文件中的其他文本:
<style type="text/css">
#some-id{}
.some-class{}
//many other css styles follow
</style>
我尝试使用<style type="text/css">.*</style>但当然它不匹配任何东西,因为点匹配除换行之外的任何字符.我想匹配换行符,换行也许\r\n或者\n.
正则表达式应该如何?
非常感谢大家.
在UltraEdit中,您需要预先添加(?s)到正则表达式以使点匹配换行符.
I. e.,搜索
(?s)<style type="text/css">.*?</style>
我也做了量词lazy(.*?),因为否则你会匹配整个文件中从第一个<style>到最后一个</style>的所有内容.
另外请注意,这是一个片状解决方案,因为正则表达式无法可靠地解析HTML.在UltraEdit中,这就是你所拥有的 - 脚本语言和解析器会更好,但如果它适用于你的情况,那么很棒.只要确保你没有比想要的更多(或更少)(想想//comment containing a </style> tag).