我需要隔离以下URL的“_Back-80x80.png”部分,并使用Javascript替换它。我知道如何更换它,只需要帮助隔离正则表达式的SKU部分。唯一的常数将是它在wp-content/uploads/
之后和弦中的最后一个/
之前。
/wp-content/uploads/SKU_Back-80x80.png
我在wp-content/uploads/
之后捕获了所有东西,只是无法弄清楚如何在SKU之前忽略一切。
/\/wp-content\/uploads\/.*/g
你想在/wp-content/uploads/
之后将整个部分更新到下一个/
或字符串的结尾。
使用
s = s.replace(/(\/wp-content\/uploads\/)[^\/]*/g, "$1" + new_value);
细节
(\/wp-content\/uploads\/)
- 第1组,文字/wp-content/uploads/
子串(使用替换模式中的$1
替换反向引用)[^\/]*
- 除了/
之外的0个或更多个字符如果new_value
可能包含$
,请在上面的代码中用new_value.replace(/\$/g, '$$$$')
替换它(这将正确地逃避美元符号)。
如果你想在/
和_
之间提取任何东西,比如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)))