javascript - 在大量代码中搜索对 jquery 版本文件的引用的正则表达式
问题描述
我有大量文件要筛选以查找对 jQuery 的引用。该项目受到严重控制,并且有多个版本和一些其他以 jQuery 为前缀的库。
我将使用 AgentRansack,利用它的正则表达式搜索功能。
所需命中示例
<script type="text/javascript" src="/utility/jquery/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="/includes/jquery-1.4.4.min.js"></script>
src="https://code.jquery.com/jquery-3.3.1.min.js"
误报示例
<script type="text/javascript" src="/includes/jquery.easing.1.3.js"></script>
<script type="text/javascript"src="/utility/jquery/jsTree.v.1.0rc2/jquery.jstree.js"></script>
<script type="text/javascript" src="/utility/jquery/contextmenu/jquery.contextmenu.r2.js"></script>
我认为规则需要类似于:
- 任何文字字符
- 文字'jquery-'
- 任意数量的任意字符,不包括空格
- 文字'.js'
- 任何文字字符
这可能会在评论中提到 jQuery 文件版本,但我对此很满意。
正则表达式应该是什么?
我用一个在线工具构建了这个,它似乎对上面的测试用例起作用。
jquery-[0-9][.][0-9].[0-9].*.js
有人有更好的吗?
解决方案
一个简单的jquery-[0-9.]+(\.min)?\.js
就足够了。(\.min)?
表示可选的缩小文件。
如果您想更具体,请搜索jquery-\d+\.\d+\.\d+(\.min)?\.js
. 注意+
in \d+
,添加是因为版本号可能不止一位。
推荐阅读
- mysql - 如何将变量插入Sqlite3数据库
- node.js - 运行 npm Production 时遇到错误
- exception - ASP.NET Core 上的 HttpStatus 代码不正确
- ios - 一旦在ios swift中滚动结束,如何在选择中心单元格处触发didSelectItemAtIndexPath?
- java - Spring Boot和http认证的简单应用
- android - Facebook 权限审查已完成,但未作出判决
- ios - 当 contenteditable="true" 时 WKWebView 损坏滚动/选择
- r - DMwR::unscale 仅取消缩放选定的列
- tensorflow - 减少 libtensorflow.so 文件
- spring - Spring http API 返回错误 500 但控制台中未记录错误