所以StackOverflow上已經幫我優化我的正則表達式匹配的對象功率計算遠得到這個:的Javascript正則表達式匹配字符串中的所有功率計算
var regex = /[0-9]+\^[0-9]+/;
此時它只匹配的第一個字符串,但我想用它來返回字符串中的所有功率計算:
str.match(regex);
所以StackOverflow上已經幫我優化我的正則表達式匹配的對象功率計算遠得到這個:的Javascript正則表達式匹配字符串中的所有功率計算
var regex = /[0-9]+\^[0-9]+/;
此時它只匹配的第一個字符串,但我想用它來返回字符串中的所有功率計算:
str.match(regex);
添加/g
修改你的格局,迫使全球的比賽,就像這樣:
/[0-9]+\^[0-9]+/g;
不過,這裏可能存在一個微妙的問題。試想一下:
var x = '3^4^5',
r = /[0-9]+\^[0-9]+/g;
x.match(r); // [3^4]
是,第二電力expr的不匹配:作爲正則表達式引擎已經覆蓋了「3^4」的一部分,接下來的比賽就不會覆蓋4^5
。所以,你可能需要您的正則表達式增強到這一點:
/[0-9]+(\^[0-9]+)+/g;
你必須使用g
(全球改性劑)
/regexp/g
document.write(str.match(patt1));//44^3,2^3
替代'/ [0-9] + \^[0-9] + /'用'/ [0-9] + \^[0-9] +/g'。最後的'g'使它成爲全球性的 – d4rkpr1nc3