鍍金池/ 問答/Java  網(wǎng)絡(luò)安全  HTML/ JS 正則表達式關(guān)于RegExp.$x 的疑問

JS 正則表達式關(guān)于RegExp.$x 的疑問

var sToMatch = 'Important word is the last one.'
var reLastWord = /(\w+)\.$/
reLastWord.test(sToMatch)
console.log(RegExp.$1)

上面這段代碼的結(jié)果為什么是'one' 而不是'one.'? 這是JS的bug還是?
從執(zhí)行情況來看,應(yīng)該是匹配到了'one.', 但RegExp的變量卻沒有把.這個符號保存在結(jié)果里.

回答
編輯回答
替身

$是捕獲括號內(nèi)匹配的
/(\w+)\.$/ 匹配到 one.,其中 one.是整個匹配到的 one()匹配到的

2017年7月25日 15:08
編輯回答
詆毀你

這個$1是對應(yīng)正則里面的第一個集合(),也就是括號里面的部分,$2就是第二個集合(),你的\.在集合括號外面。

2018年9月12日 04:53
編輯回答
雨蝶
/(\w+\.)$/

這樣就好了,正則里面的()代表是一個元組,你的$1獲取的是()里面的元素,所以你只要把\.加到()里面就好了

2017年10月31日 19:43