RegExp.$1
- $9
非標(biāo)準(zhǔn) $1, $ 2, $3, $4, $5, $6, $7, $8, $9
屬性是包含括號子串匹配的正則表達(dá)式的靜態(tài)和只讀屬性。(該特性是非標(biāo)準(zhǔn)的,請盡量不要在生產(chǎn)環(huán)境中使用它哈蝇!)
語法
// RegExp.$_,與正則表達(dá)式匹配的完整字符串。
RegExp.$_
// RegExp.$n,(n為1-9之間的數(shù)值)指的是與正則表達(dá)式匹配的第n個子匹配(以括號為標(biāo)志)字符串
RegExp.$1
RegExp.$2
RegExp.$3
RegExp.$4
RegExp.$5
RegExp.$6
RegExp.$7
RegExp.$8
RegExp.$9
描述
-
$1, ..., $9
屬性是靜態(tài)的, 他不是獨(dú)立的的正則表達(dá)式屬性. 所以, 我們總是像這樣子使用他們RegExp.$1, ..., RegExp.$9.
- 屬性的值是只讀的而且只有在正確匹配的情況下才會改變.
- 括號匹配項(xiàng)是無限的, 但是RegExp對象能捕獲的只有九個. 你可以通過返回一個數(shù)組索引來取得所有的括號匹配項(xiàng).
- 這些屬性可以在String.replace 方法中替換字符串. 在這種情況下,不用在前面加上RegExp。下面的例子將詳細(xì)說明. 當(dāng)正則表達(dá)式中不包含括號, 腳本中的 $n's 就是字面上的意思 (當(dāng)n是正整數(shù)).
例子
使用replace()去匹配一個 first last 格式的 name String 實(shí)例彬伦,然后輸出 last first 格式。在替換文本中伊诵,用 $1
和 $2
表示正則表達(dá)式中括號匹配項(xiàng)的結(jié)果媚朦。
let regExp = /(\w+)\s(\w+)/
let str = 'Jianran Lin'
str.replace(regExp, '$2 '+ '$1') // "Lin Jianran"
console.log(RegExp.$1) // "Jianran"
console.log(RegExp.$2) // "Lin"
技術(shù)指標(biāo)
非標(biāo)準(zhǔn),不屬于當(dāng)前的任何規(guī)范