正则表达式查找并从文件替换特定的字符串

问题描述:

我有一个html file.in我的文件,我有很多的src文字的像正则表达式查找并从文件替换特定的字符串

src="/home/ushus/dev/testResults/1/431619110/screenshot_0.png" 
src="/home/ushus/dev/testResults/1/431619110/screenshot_1.png" 

我需要/dave/homedave/

更换/home/ushus/dev

/dave/homedave/testResults/1/431619110/screenshot_0.png" 
/dave/homedave/testResults/1/431619110/screenshot_1.png" 

html file sample

<span class="keyword">Scenario:</span> <span class="val">Open side menu</span></h3><ol><span class="embed"><a href="" onclick="img=document.getElementById('img_0'); img.style.display = (img.style.display == 'none' ? 'block' : 'none');return false">Timeout waiting for elements: imageView marked:'InstagramLogo.png'</a><br>&nbsp; 
      <img id="img_0" style="display: none" src="/home/ushusadmin/testResults/1/431619110/screenshot_0.png"/></span><script>makeRed('cucumber-header');makeRed('scenario_1');</script><li id='features_sidemenu_feature_9' class='step failed'><div class="step_name"> 


<span class="keyword">Scenario:</span> <span class="val">Open side menu</span></h3><ol><span class="embed"><a href="" onclick="img=document.getElementById('img_0'); img.style.display = (img.style.display == 'none' ? 'block' : 'none');return false">Timeout waiting for elements: imageView marked:'InstagramLogo.png'</a><br>&nbsp; 
      <img id="img_0" style="display: none" src="/home/ushusadmin/testResults/1/431619110/screenshot_1.png"/></span><script>makeRed('cucumber-header');makeRed('scenario_1');</script><li id='features_sidemenu_feature_9' class='step failed'><div class="step_name"> 

它是如何可能与定期experssions(正与javascript ,node.js工作)

+3

http://www.regexr.com/ 你尝试过这么远吗? – Sprottenwels 2015-01-21 09:28:17

+0

@Psl你想要更换或者想要更改保存在html文件中吗? – 2015-01-21 10:08:06

您可以使用下面的正则表达式吧。 Backreferencing将帮助你整个文件名组合:

/src\s*=\s*(?:"|')\/home\/ushus\/dev\/([^"']*)/ig 

示例如何使用它:

var regex = /src\s*=\s*(?:"|')\/home\/ushus\/dev\/([^"']*)/ig, 
    content = 'src="/home/ushus/dev/testResults/1/431619110/screenshot_0.png"' 
      +'\nsrc="/home/ushus/dev/testResults/1/431619110/screenshot_1.png"'; 
console.log(content.replace(regex, 'src="/dave/homedave/$1"'));