本对象包含正则表达式模式以及表明如何应用模式的标志。
re = /pattern/[flags]
re = new RegExp("pattern",["flags"])
不要将正则表达式对象跟全局 RegExp 对象混淆。尽管听起来像是一回事,但它们是截然不同的。正则表达式对象的属性只包含一个正则表达式的信息,而全局 RegExp 对象的属性包含了不断更新的每一个匹配出现的信息。
正则表达式对象保存用于查找字符串中的字符组合时的模式。创建正则表达式对象后,或者它被传递给字符串方法,或者字符串被传递给一个正则表达式方法。有关最近进行查找的信息被保存在全局 RegExp 对象中。
当预先知道查找字符串时用语法 1。当查找字符串经常变动或不知道时用语法 2,比如由用户输入得到的字符串。
在使用前 pattern 参数被编译为内部格式。对语法 1 来说,pattern 在该脚本被装载时被编译。对语法 2 来说,pattern 在使用前,或调用 compile 方法时被编译。
下面的示例创建一个包含正则表达式模式及相关标志的对象(re),向您演示正则表达式对象的用法。在本例中,作为结果的正则表达式对象又用于 match 方法中:
function MatchDemo(){ var r, re; // 声明变量。 var s = "The rain in Spain falls mainly in the plain";re = new RegExp("Spain","i")
; // 创建正则表达式对象。 r =s.match(
re)
; // 在字符串 s 中查找匹配。 return(r); // 返回匹配结果。 }
compile 方法 | exec 方法 | test 方法