Regex to match spaces in a URL
progonkpa last edited by
I want to replace spaces in URLs in src attributes using a regex e.g.
src="http :// jos / bos " (remove spaces in string between the quotes)
I found this regex to select the string between the quotes on regexr.com.
When I use this regex in Notepad++, it doesn’t match.
Also, if I replace .* with a space but this is due to my poor regex skills.
Any help appreciated, kr.
Ekopalypse last edited by Ekopalypse
This post is deleted!
guy038 last edited by guy038
Hello, @progonkpa and All,
I suppose that the following regex S/R sould do the job !
Due to the
\Gsyntax, the initial location of the cursor must not be followed with space characters
Regular expressionsearch mode
Because of the
\Ksyntax, click on the
Replace Allbutton, exclusively. ( Do not use the
Replacebutton ! )
- If we use the Free-spacing mode
(?x), this regex can be expressed as :
(?x-is) (?: <img \x20+ src=" \K | \G ) (?: \x20* ( [^"\x20\r\n]+ ) | \x20+ )
So the regex engine is looking for a string
<img src=", first, with this exact case
Then , due the
\Ksyntax, anything being matched, so far, is canceled and the regex engine, now, searches, either, for :
A non-null range of non-space characters, possibly preceded by space chars
A non-null range of space characters
Then, due the
\Gsyntax, it searches, for the same ranges, as above, right after the location of the last match. If a match cannot be found, it tries, again, to find an other string
<img src="and so on…
Note that the
(?:...........)structures are non-capturing groups which do not store anything for further use, either, in search and/or replacement !
In replacement, we only rewrite the non-space characters
[^"\x20\r\n]+stored in group