RegExp.$1...$9
属性用于返回正则表达式模式中某个子表达式匹配的文本。
正则表达式中每个小括号内的部分表达式就是一个子表达式。
该属性是RegExp
全局对象的一个只读属性,所有主流浏览器均支持该属性。
语法
RegExp.$n
n
的值介于 [1, 9] 之间,表示第n
个子表达式所匹配的文本内容。例如,RegExp.$1
表示第一个子表达式所匹配的文本内容。
返回值
RegExp.$1...$9
属性的值为String类型,返回上一次正则表达式匹配中,第n个子表达式所匹配的文本。
虽然正则表达式模式中的小括号可以有任意多个,但是此属性只保存最前面的9个匹配文本。
注意:这里的RegExp
是全局对象,RegExp.$1...$9
是全局属性。当执行任意正则表达式匹配操作时,JavaScript会自动更新全局对象RegExp
上的全局属性,用以存储此次正则表达式模式的匹配结果。当再次执行正则表达式匹配时,RegExp
上的全局属性又会更新,覆盖掉之前的存储数据,以反映本次正则表达式模式的匹配结果。
示例&说明
var str = "X98Y87Z65"; // 三个数字部分加了小括号,表示子表达式 var reg = /^X(\d+)Y(\d+)Z(\d+)$/; reg.test(str); // 此处使用exec()等其他正则表达式的匹配方法也可,下同 document.writeln(RegExp.$1); // 98 document.writeln(RegExp.$2); // 87 document.writeln(RegExp.$3); // 65 str = '<a href="http://www.365mini.com/" title="首页" target="_blank">CodePlayer</a>'; // 提取URL reg = /<a\s[^>]*href="([^">]+)"[^>]*>/; reg.exec(str); document.writeln(RegExp.$1); // http://www.365mini.com/