非标准
1, 2,3, 4,5, 6,7, 8,$9 属性是包含括号子串匹配的正则表达式的静态和只读属性。该特性是非标准的,请尽量不要在生产环境中使用它!
语法
RegExp.$1
RegExp.$2
RegExp.$3
RegExp.$4
RegExp.$5
RegExp.$6
RegExp.$7
RegExp.$8
RegExp.$9
描述
属性的值是只读的而且只有在正确匹配的情况下才会改变.
括号匹配项是无限的,但是RegExp对象能捕获的只有九个. 你可以通过返回一个数组索引来取得所有的括号匹配项.
这些属性可以在String.replace 方法中替换字符串. 在这种情况下,不用在前面加上RegExp。下面的例子将详细说明. 当正则表达式中不包含括号,脚本中的 $n’s 就是字面上的意思 (当n是正整数).
例子
$n 在 String.replace中的应用
以下脚本用 replace() 方法去匹配一个first last格式的 nameString 实例 输出last first格式. 在替换文本里,脚本用
var re = /(\w+)\s(\w+)/;
var str = 'John Smith';
str.replace(re,'$2,$1'); // "Smith,John"
RegExp.$1; // "John"
RegExp.$2; // "Smith"
浏览器适配
Desktop
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Mobile
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp/n