我正在使用以下正則表達式來替換w/4096/h/2048
中的數字與自定義值。但現在我希望能夠後更換任何形式的四位w/
和/h
REGEX:如何替換前面加上「w /」和「h」的四位數字?
imgSrc.replace('w/4096/h/2048', 'w/' + w + '/h/' + h)
我應該如何修改上面的代碼,以反映這一點?
我正在使用以下正則表達式來替換w/4096/h/2048
中的數字與自定義值。但現在我希望能夠後更換任何形式的四位w/
和/h
REGEX:如何替換前面加上「w /」和「h」的四位數字?
imgSrc.replace('w/4096/h/2048', 'w/' + w + '/h/' + h)
我應該如何修改上面的代碼,以反映這一點?
如果imgSrc
= 「w/4096/h/2048」,並且您想用「abcd」替換「4096」,用「efgh」替換「2048」,請嘗試:
var imgSrc = "w/4096/h/2048";
imgSrc.replace(new RegExp('(w/)(\\d{4})(/h/)(\\d{4})'), '$1abcd$3efgh');
上述第二行返回以下結果:
w/abcd/h/efgh
當捕獲的零件是靜態的時候,沒有看到需要打擾捕獲組 – Phil
可以使用RegExp
捕捉組/(\w\/)(\d+)(\/\w\/)(\d+)/
var str = "w/4096/h/2048";
var w = "123";
var h = "456"
var res = str.replace(/(\w\/)(\d+)(\/\w\/)(\d+)/
, "$1" + w + "$3" + h);
console.log(res);
這是唯一的答案迄今爲止工作。但在某些情況下重複數字:'http://vrcam-10065475.image.myqcloud.com/e9a5a32f17602d2242a8.jpg?imageView2/4096/w/2048/h/2048/q/100/format/jpg' – alex
@alex對第一個捕獲組使用'(w \ /)',對第三個捕獲組使用'(\/\ h \ /)',var res = str.replace(/(w \ /)(\ d +)/\ h \ /)(\ d +)/ ,「$ 1」+ w +「$ 3」+ h);' – guest271314
/(?:瓦特/)[0-9] {1,4}/ /(?:/ h)[0-9] {1,4}/ –