我想用%20
示例:
src="//myurl.com/example string.mp3"
到
src="//myurl.com/example%20string.mp3"
我正在寻找单 RegEx选择器来执行此操作!如果感兴趣,我将使用Wordpress Search-Regex插件。
答案 0 :(得分:2)
为了使用正则表达式来实现它的乐趣,您可以替换:
src\s*=\s*"[^" ]*\K\h|(?!^)\G[^" ]*\K\h
使用%20
(将"
替换为'
以检查单引号字符串)。
说明(见demo here)
我们的想法是匹配src="...
模式的开头,直到找到空格或引号。这样,如果\G
锚点(“最后一场比赛结束”)匹配,我们知道我们在相关的"..."
字符串中,我们可以愉快地匹配所有空格,直到结束"
< / p>
src\s*=\s*" # match the opening 'src="'
[^" ]* # match everything until a double quote or a space
\K # drop out what we matched so far
\h # match the whitespace ('\h' is a horizontal whitespace)
|
(?!^)\G # match at the end of the last match (not beginning of string)
[^" ]*\K # match and drop until a double quote or a space
\h # match the whitespace
为了简单起见,模式不处理转义引号。如果您需要这样做,可以将[^" ]*
部分替换为(?:\\\H|[^" \\]++)*+
(请参阅demo here)
如果你在'
字符串中有一个"..."
,反之亦然(如果你知道的那样),那么在一种模式中检查单引号和双引号字符串是不可行的(据我所知)不用担心,您可以使用src\s*=\s*['"][^'" ]*\K\h|(?!^)\G[^'" ]*\K\h
,请参阅demo here)。
答案 1 :(得分:0)
让我们假设我们有一个字符串
var src = "//my url.com/example string .mp3"
将找到上述字符串中所有空格的正则表达式将是/ \ s / g
您可以使用
替换javascript中的所有空格src = src.replace(/\s/g, '%20')