关于正则表达式的两个方法比较
正则对象有两种创建方法:
re = new RegExp("pattern",["flags"]);re = /pattern/[flags];
一定要注意手册中的一句说明:
"不要将正则表达式对象跟全局 RegExp 对象混淆。尽管听起来像是一回事,但它们是截然不同的。正则表达式对象的属性只包含一个正则表达式的信息,而全局 RegExp 对象的属性包含了不断更新的每一个匹配出现的信息。"
上面的信息非常重要。下面谈谈两个查询方法,match和exec。
由于两个方法是不同对象的方法(match属于String对象;exec属于RegExp对象),因此将使用不同的语句来执行,分别是:
- a = String.match("pattern",[flag]);
- b = pattern.exec(String,[flag]);
- a是数组,结果如:[0...n],取值使用a[0],a[1],...a[n];
- b是一个对象,结果如:{$1,$2,...$9},取值采用b.$1,b.$2,...b.$9。
0 条评论:
发表评论