我需要隔离以下URL的“ _Back-80x80.png”部分,并使用Javascript替换它。我知道如何替换它,只需要帮助使用正则表达式隔离SKU部分即可。唯一的常数将是它在字符串中wp-content/uploads/
之后和最后/
之后。
/wp-content/uploads/SKU_Back-80x80.png
我已经捕获了wp-content/uploads/
之后的所有内容,只是无法弄清楚如何忽略SKU之前的所有内容。
/\/wp-content\/uploads\/.*/g
答案 0 :(得分: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 :(得分: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)))