javascript正则表达式RegExp的静态属性之$1-$9

javascript正则表达式是支持分组捕获的,分组的结果会存储在RegExp的静态属性$1-$9中。也就是说当正则表达式中的分组超过9个的时候,RegExp最多只保留9个。

// 含10个分组的正则
var regexp = /(\w)-(\w)-(\w)-(\w)-(\w)-(\w)-(\w)-(\w)-(\w)-(\w)/;
var str = 'a-b-c-d-e-f-g-h-i-j-k-l-m-n-o';
//regexp.test(str);
regexp.exec(str);
for(var i=1;i<=10;i++)
{
	console.log(RegExp["$"+i]);
}

1.The $1, ..., $9 properties are static, there are not a property of an individual regular expression object. Instead, you always use them as RegExp.$1, ..., RegExp.$9.

2.The values of these properties are read-only and modified whenever successful matches are made.

var re = /(\w)-(\w)-(\w)-(\w)-(\w)-(\w)-(\w)-(\w)-(\w)-(\w)/;
var str1 = 'a-b-c-d-e-f-g-h-i-j';
var str2 = 'z-y-x-t-s-r-q-p-o-n';

re.test(str1);
for(var i=1;i<=10;i++)
{
	console.log(RegExp["$"+i]);
}

//匹配失败,$1-$9不变
re.test("a-b-c");
for(var i=1;i<=10;i++)
{
	console.log(RegExp["$"+i]);
}

//匹配成功,$1-$9改变
re.test(str2);
for(var i=1;i<=10;i++)
{
	console.log(RegExp["$"+i]);
}

可以参考https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/n



时间: 2024-12-16 11:41:26

javascript正则表达式RegExp的静态属性之$1-$9的相关文章

JavaScript正则表达式-RegExp对象

RegExp对象方法 exec():与String对象的match()方法功能相同. 参数为被搜索字符串.返回数组或null. test():与String对象的search()方法功能相同. 参数为被搜索字符串.返回true或false. RegExp对象实例属性 global:布尔值,表示正则表达式中后缀选项g是否被设置. ignoreCase:布尔值,表示正则表达式中后缀选项i是否被设置. lastIndex:一个整数值,表示下一次匹配开始的位置索引. multiline:布尔值,表示正则

Javascript的RegExp对象

正则表达式是一个描述字符模式的对象. JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法. '*********************** ' javascript ' '*********************** 在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp对象, 也可以用JavaScript 1.2中的新添加的一个特殊语法来创建Re

Javascript – 正则表达式

目录 1. 正则表达式 1.1 创建 1.2 RegExp 对象属性 1.3 RegExp 对象方法 1.4 RegExp 分组 2. 元字符和正则表达式规则 1正则表达式 正则表达式本身就是一种语言,由普通字符和特殊的元字符(metacharacters)组成.它描述了字符串的匹配模式,用于转换和处理字符串. 其中,元字符(metacharacters)也是由普通字符组成,具有特殊意义.比如 {3} 代表了将前面的字符或分组重复匹配三次,$ 代表了匹配一行的结束位置.(更多的元字符请看下面的

JavaScript正则表达式知识汇总

Js 正则表达式知识汇总 正则表达式: 1.什么是RegExp?RegExp是正则表达式的缩写.RegExp 对象用于规定在文本中检索的内容. 2.定义RegExp:var +变量名=new RegExp(); 3.RegExp 对象有 3 个方法: 1)test()检索字符串中的指定值,返回值是true或false. var p1=new Reg("e"); document.write(Reg.test("welcome to China!")); 2)exec

javascript类型系统——正则表达式RegExp类型

× 目录 [1]对象 [2]实例属性 [3]静态属性[4]实例方法 前面的话 前面已经介绍过javascript中正则表达式的基础语法.javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,使用正则表达式可以进行强大的模式匹配和文本检索与替换.本文将介绍正则表达式的RegExp对象,以及正则表达式涉及到的属性和方法 对象 javascript中的正则表达式用RegExp对象表示,有两种写法:一种是字面量写法:另一种是构造函数写法 Perl写法 正则表达式字面

javascript正则表达式和字符串RegExp

这篇文章主要介绍了javascript正则表达式和字符串RegExp and String(一)的相关资料,需要的朋友可以参考下 前言 正则表达式是javascript非常重要和常用的功能,在jquery等大型框架中用的非常频繁,最近抽时间学习了解了相关知识,记录下来与需要的朋友分享. 思维导图: RegExp(正则表达式)的创建方式 可以通过两种方式创建一个RegExp,具体如下: 通过/-./的方式来创建正则表达式(注意: /--/两边是没有单引号或双引号的) 通过RegExp构造方法来创建

JavaScript正则表达式的概述_创建_方法和属性

假设用户需要在 HTML 表单中填写姓名.地址.出生日期等. 那么在将表单提交到服务器进一步处理前,JavaScript 程序会检查表单以确认用户确实输入了信息并且这些信息是符合要求的. 一.什么是正则表达式: 正则表达式(regular expression)是一个描述字符模式的对象. javaScript 的 RegExp(正则表达式的缩写) 类表示正则表达式,而 String 和 RegExp 都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数. 正则表达式主要用来验证客户端的

JavaScript之基础-10 JavaScript 正则表达式(概述、定义正则、RegExp对象、用于模式匹配的String方法)

一.JavaScript 正则表达式概述 正则表达式概述 - 正则表达式(Regular Expression): 由一些普通字符和特殊字符组成的,用以描述一种特定的字符规则的表达式 - 正则表达式常用于在一段文本中搜索.匹配或替换特定形式的文本.如:词语出现频率统计.验证字符串是否符合邮件格式.屏蔽一篇帖子中的限制性词语等 正则表达式初体验 - 验证用户输入的手机格式是否合法 二.JavaScript 定义正则表达式 普通字符 - 所有的单个大小写字母.数字都是一个正则表达式,用以匹配单个字符

用JAVASCRIPT实现静态对象、静态方法和静态属性

Javascript语言的面向对象特征很弱,其他面向对象语言在创建类时只要使用关键字static即可指定类为静态类,Javascript没有提供static这样的关键字,要让Javascript也具有"静态"特性只有靠一些"奇技淫巧"了. 代码中列举了两种静态方法/属性的实现方式,一种是静态类的静态方法和属性,另一种是非静态类的静态方法和属性,代码说明都写在每行的代码注释里,这里就不重复了. /************************************