替换特定字符串之间的空格

时间:2014-07-11 09:47:36

标签: regex notepad++

我试图用Notepad ++替换html文档某些部分中带有下划线的空格。

我可以通过以下方式识别要搜索空格的区域:

-Begins with:src =" video /

- 结束于:mp4

例如,我可能有这样的一行:

<video class="play" src="video/my file name with empty spaces.mp4">

我想把它改成这样:

<video class="play" src="video/my_file_name_with_empty_spaces.mp4">

1 个答案:

答案 0 :(得分:3)

在N ++中测试

搜索:(?:src="video|(?<!^)\G)(?:(?!mp4).)*?\K\s+

替换:_

the demo上,请参阅底部的替换。

<强>解释

  • (?:src="video|(?<!^)\G)匹配分隔符src="video,或\G上一个匹配后的位置,只要它不在字符(?<!^)的开头{{1}也可以匹配
  • \G匹配一个未跟(?:(?!mp4).)
  • 的字符
  • mp4懒洋洋地匹配这些字符,最多......
  • *?一个空格字符(我们用\s替换的匹配项)
  • 在空格之前,_告诉引擎放弃与返回的最终匹配相匹配的内容

NPP