Psl
Psl

Reputation: 3920

Regular expression to find and replace particular strings from a file

i have an html file.in my file i have many src text's like

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

i need to replace /home/ushus/dev with /dave/homedave/

like

/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">

How it is possible with regular experssions(am working with javascript ,node.js)

Upvotes: 0

Views: 72

Answers (1)

Michał Szepielak
Michał Szepielak

Reputation: 284

You can use following regex for it. Backreferencing will help you to combine whole file name:

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

Example how to use it:

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"'));

Upvotes: 1

Related Questions