NP ++中的正则表达式用不同的查询替换多个查询

时间:2012-10-17 09:18:37

标签: regex notepad++ replace

我使用Notepad ++来搜索和替换正则表达式,我需要用其他东西替换多行。我可以用一个命令吗?

示例:

"../../../commons/js/site-name.com__file-name.js"
"../dlds/file.css"

anytext "../../../commons/js/site-name.com__file-name.js" text
something "../dlds/file.css" anytext

<script src="../../../Folder/js/site-name.com__file-name.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="/folder/file.css" />

输出应该是

"/resources/common.js"
"/resources/common.css"

鉴于:

  • up dir ../正在改变(有些是../更多../../../ 等等,所以我需要它来为任何数量的../),或者它可能完全失踪,如:“/ dlds / file.css”。
  • 这两行 在这个例子中,并不完全是在彼此之后,或者在 文本的开头,但文本的任何地方。

3 个答案:

答案 0 :(得分:1)

搜索^.+/(filename.js|style.css)"$

替换为"/resources/$1"

如果您想获取任何文件名,而不仅仅是filename.js或style.css,请使用此

^.+\/(.+)(?!\/)"$

并使用相同的替代品。

Ex:http://rubular.com/r/h1IsZK8nry

答案 1 :(得分:0)

查找

\.\..+/([^\.]+\.\w+)

替换:

/resources/\1

<强>更新

如果您只想替换filename.js或style.css,请找:

[\./]{1}.+/(filename.js|style.css)

替换为

/resources/\1

答案 2 :(得分:0)

怎么样:

搜索:"(?:\.\./)+.*/([^.]+\.\w+)"
替换为:"/ressources/$1"

如果您想替换为new.jsnew.css,请执行:

搜索:"(?:\.\./)+.*/[^.]+(\.\w+)"
替换为:"/ressources/new$1"

匹配也是以/开头的网址:

搜索:"(?:(?:\.\./)+.*?)?/([^.]+\.\w+)"
替换为:"/ressources/new$1"