首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex替换一条带有重复模式的单行

问Regex替换一条带有重复模式的单行
EN

Stack Overflow用户
提问于 2014-06-09 16:13:46
回答 2查看 79关注 0票数 2

假设我有以下代码的单行:

代码语言:javascript
复制
<script src="common/scripts/vendor.0.js"></script><script src="common/scripts/all.0.js"></script><script src="common/scripts/environment.0.js"></script><script src="vendor/angular-mocks/angular-mocks.js"></script><script src="common/scripts/another.0.js">

我基本上希望匹配并用以下字符串替换:

代码语言:javascript
复制
<script src="vendor/angular-mocks/angular-mocks.js"></script>

要匹配的关键模式是,它是指向<script>文件的angular-mocks.js标记,以后路径可能会更改。但是替换必须是整个<script>标记的替换。

此外,所有文件中的0实际上都将包含Jenkins的版本号,以防您知道它是相关的。

有人能帮我做这件事吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-09 16:50:40

代码语言:javascript
复制
<script[^>]+?angular-mocks\.js"><\/script>

非常类似于Qeole的答案,但是实现不可知;您可能需要额外的转义。如果您使用的是JS、PCRE或PY,下面是指向regex101的链接。

编辑

如果不能保证src是标记中的最后一个属性,请使用:

代码语言:javascript
复制
<script[^>]+?angular-mocks\.js"[^>]*><\/script>

regex101

票数 2
EN

Stack Overflow用户

发布于 2014-06-09 16:43:11

使用sed命令,您可以使用:

代码语言:javascript
复制
sed 's=<script [^>]*angular-mocks.js"></script>=='
    <<< '<script src="common/scripts/vendor.0.js"></script><script src="common/scripts/all.0.js"></script><script src="common/scripts/environment.0.js"></script><script src="vendor/angular-mocks/angular-mocks.js"></script><script src="common/scripts/another.0.js">'

(匹配<script,然后是一个没有任何>的字符串,然后是angular-mocks.js></script>并删除整个过程。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24124323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档