隔离字符串的一部分

问题描述 投票:2回答:2

我需要隔离以下URL的“_Back-80x80.png”部分,并使用Javascript替换它。我知道如何更换它,只需要帮助隔离正则表达式的SKU部分。唯一的常数将是它在wp-content/uploads/之后和弦中的最后一个/之前。

/wp-content/uploads/SKU_Back-80x80.png

我在wp-content/uploads/之后捕获了所有东西,只是无法弄清楚如何在SKU之前忽略一切。

/\/wp-content\/uploads\/.*/g
regex
2个回答
1
投票

你想在/wp-content/uploads/之后将整个部分更新到下一个/或字符串的结尾。

使用

s = s.replace(/(\/wp-content\/uploads\/)[^\/]*/g, "$1" + new_value);

regex demo

细节

  • (\/wp-content\/uploads\/) - 第1组,文字/wp-content/uploads/子串(使用替换模式中的$1替换反向引用)
  • [^\/]* - 除了/之外的0个或更多个字符

如果new_value可能包含$,请在上面的代码中用new_value.replace(/\$/g, '$$$$')替换它(这将正确地逃避美元符号)。


1
投票

如果你想在/_之间提取任何东西,比如SKU,这里有一个方法:

const regex = /\/\w*\_/g

const text = "/wp-content/uploads/SKU_Back-80x80.png"

console.log(text.match(regex)[0].substring(1, (text.match(regex)[0].length - 1)))
© www.soinside.com 2019 - 2024. All rights reserved.