JavaScript RegExp 对象 正则表达式

2009年5月2日星期六

JavaScript RegExp 对象 正则表达式

RegExp是正则表达式的缩写。
当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp就是这种模式。
简单的模式可以是一个单独的字符。
更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。
您可以规定字符串中的检索位置,以及要检索的字符类型,等等。定义RegExp
RegExp对象用于存储检索模式。
通过new关键词来定义RegExp对象。以下代码定义了名为patt1的RegExp对象,其模式是"e":

varpatt1=newRegExp("e");

当您使用该RegExp对象在一个字符串中检索时,将寻找的是字符"e"。
RegExp对象的方法
RegExp对象有3个方法:test()、exec()以及compile()。
RegExp对象的属性
globalRegExp对象是否具有标志g。ignoreCaseRegExp对象是否具有标志i。lastIndex一个整数,标示开始下一次匹配的字符位置。multilineRegExp对象是否具有标志m。source正则表达式的源文本。
test()
test()方法检索字符串中的指定值。返回值是true或false。例1
varpatt1=newRegExp("e");document.write(patt1.test("Thebestthingsinlifearefree"));

由于该字符串中存在字母"e",以上代码的输出将是:
true
exec()
exec()方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回null。例1
varpatt1=newRegExp("e");document.write(patt1.exec("Thebestthingsinlifearefree"));

由于该字符串中存在字母"e",以上代码的输出将是:
e例2
您可以向RegExp对象添加第二个参数,以设定检索。例如,如果需要找到所有某个字符的所有存在,则可以使用"g"参数("global")。

在使用"g"参数时,exec()的工作原理如下:
varpatt1=newRegExp("e","g");do{result=patt1.exec("Thebestthingsinlifearefree");document.write(result);}while(result!=null)

由于这个字符串中6个"e"字母,代码的输出将是:
eeeeeenull
compile()
compile()方法用于改变RegExp。
compile()既可以改变检索模式,也可以添加或删除第二个参数。例子:
varpatt1=newRegExp("e");document.write(patt1.test("Thebestthingsinlifearefree"));patt1.compile("d");document.write(patt1.test("Thebestthingsinlifearefree"));

由于字符串中存在"e",而没有"d",以上代码的输出是:
truefalse

0 评论:

发表评论