我有多个具有此类导入的文件:
<link rel="stylesheet" href="../vendor/pickadate/lib/themes/default.css">
<link rel="stylesheet" href="../external/default.date.css">
<script type="text/javascript" src="scheduleCtrl_Helper_5.js"></script>
<script type="text/javascript" src="agenda_Helper.js"></script>
我想找到所有以 .js 结尾但不以 _5.js(5 或任意数字)结尾的导入
并忽略来自供应商和外部的导入。
我有这个似乎工作正常的正则表达式:
^(?!.外部).[^\d].js".*$
所以它不包括包含外部的导入和那些以 number.js
结尾的导入但是如何添加多个排除词? 类似:
^(?!.external|vendor).[^\d].js".*$
感谢您的帮助
答案 0 :(得分:2)
你可以使用
\b(?:src|href)="((?![^"]*(?:external|vendor))[^"]*[^"\d]\.js)"
参见regex demo。
详情
\b
- 一个词边界(?:src|href)
- src
或 href
="
- ="
字符串((?![^"]*(?:external|vendor))[^"]*[^"\d]\.js)
- 第 1 组:
(?![^"]*(?:external|vendor))
- 如果有零个或多个字符而不是尽可能多的 "
后跟 external
或 vendor
立>
[^"]*
- 除 "
之外的零个或多个字符[^"\d]
- 除 "
和数字以外的字符\.js
- .js
子字符串"
- 一个 "
字符。