您的位置:首页 > 编程语言

DOM编程之十--正则表达式二

2013-08-29 20:37 453 查看
(2)实例对象的属性

global
RegExp 对象是否具有标志 g。
ignoreCase
RegExp 对象是否具有标志 i。
lastIndex
一个整数,标示开始下一次匹配的字符位置。
multiline
RegExp 对象是否具有标志 m。
source
正则表达式的源文本,即模式文本。
4,RegExp对象的方法

compile
编译正则表达式。
(1)语法
Compile(“pattern”[,”flags”])
(2)功能
更换RegExp对象实例所使用的正则表达式模式,并将新的正则表达式模式编译为内部格式,从而使以后的匹配过程执行过程更快
exec
(1)语法
exec(str)
(2)功能
使用创建RegExp对象实例时指定的正则表达式模式对一个字符串执行搜索,并返回一个包含搜索结果的数字。

var re1=new RegExp("\\\\","g");

re1 = re1.test("cscs\\w");
就是测试字符串"cscs\\w"中是否存在”\”;
注意:检索到第一个匹配值便返回,不检索之后的
(3)返回值
它返回一个数组,数组的第一个元素返回的是匹配的字符,第二个元素之后的是与子表达式匹配的字符(如果有的话);
除了数组元素和 length 属性之外,exec() 方法还返回两个属性。
index 属性声明的是匹配文本的第一个字符的位置。input 属性则存放的是被检索的字符串 string。
我们可以看得出,在调用非全局的 RegExp 对象的 exec() 方法时,返回的数组与调用方法 String.match() 返回的数组是相同的。
重要事项:如果在一个字符串中完成了一次模式匹配之后要开始检索新的字符串,就必须手动地把 lastIndex 属性重置为 0。

提示:请注意,无论 RegExpObject 是否是全局模式,exec() 都会把完整的细节添加到它返回的数组中。这就是 exec() 与 String.match() 的不同之处,后者在全局模式下返回的信息要少得多。因此我们可以这么说,在循环中反复地调用 exec() 方法是唯一一种获得全局模式的完整模式匹配信息的方法。

test
(1)语法
test(str)
(2)功能
检查一个字符串是否存在与创建RegExp对象实例时指定的正则表达式模式匹配的字符串。
如:

var re1=new RegExp("\\\\","g");

re1 = re1.test("cscs\\w");
就是测试字符串"cscs\\w"中是否存在”\”;
(3)返回值
true 或 false。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: