我想創建一個正則表達式,可以很容易地替換一個輸入名稱,例如「holes [0] [shots] [0] [unit]」到「holes [0] [shots] 1 [unit ]」。我基本上是克隆一個HTML輸入,並希望確保其位置遞增。Javascript正則表達式編組
我得到了我的正則表達式建成並正常工作使用這個(真棒)工具:http://gskinner.com/RegExr/
這裏是我當前的正則表達式:
(.*\[shots\]\[)([0-9]+)(\].*\])
和我使用的是替換,例如:
$12$3
這將「holes [0] [shots] [0] [unit]」轉換爲「holes [0] [shots] [2] [unit]」。這正是我想要的。然而,當我嘗試這在JavaScript(http://jsfiddle.net/PH2Rh/):
var str = "holes[0][shots][0][units]";
var reg =new RegExp("(.*\[shots\]\[)([0-9]+)(\].*\])", "g");
console.log(str.replace(reg,'$1'));
我得到以下輸出:孔[0
我不明白,我的第一組應該如何代表「孔[0」 ,因爲我包括了整個[鏡頭] [部分內容。
我很欣賞這方面的任何投入。謝謝。