[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
如果支持环视的话,贪婪模式又如何不能使用呢:
  1. <script((?s)((?!</script>).)*a\.js((?!</script>).)*)</script>
复制代码
2

评分人数

TOP

关键是你用的是哪一种正则引擎。不同的引擎,对元字符及模式的支持度会有很大的不同。

TOP

回复 3# 星尘

斜杠一般不需要转义吧!

TOP

回复 7# 星尘

你想匹配的是那(几)段文本?

TOP

回复 12# 星尘

没用过UltraReplace,可能是不支持(?s),看看菜单选项里是否有类似“.号可匹配换行符”的选项。若有勾选,上面正则去掉“(?s)和最外层括号”试试;不行的或试试下面正则(效率可能要低一些):
  1. <script((?!</script>)(.|\n))*a\.js((?!</script>)(.|\n))*</script>
复制代码

TOP

处理文本我一般用EmEditor,功能尚可,习惯而已。偶尔用Notepad++。

TOP

本帖最后由 qixiaobin0715 于 2020-8-4 15:35 编辑

1.(?s)——开启“点号匹配换行符模式”
2.(?!</script>)——顺序否定环视
与^、$类似,只表示位置而实际不匹配任何字符;通俗的说,“站”在此位置向后看一看,其后不能是字符串“</script>”。
3.(?!</script>).——任意一个字符,但是要符合从其左侧向后看不能是字符串“</script>”的条件。
4.((?!</script>).)*——从其左侧向后看不能是字符串“</script>”的任意字符的集合。也即是集合中的每个字符分别都要符合以上条件。

开始不对,现已修正。

TOP

如果标签内不含字符"<"还可以用下列非精确的表达式匹配:
  1. <script[^<]*a\.js[^<]*</script>
复制代码

TOP

返回列表