<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type"
content="text/html";charset="gbk"/>
<script type="text/javascript"
>
/*var
reg=/家人/g;*/
var reg=new
RegExp("家人","g");
var str="我们都是一家人,很好的一家人";
/* while((t=reg.exec(str))!=null){
alert(t.length+":"+t.index+":"+t.lastIndex);
1:5:7 1:12:14
}*/
alert(reg.test(str));
true
</script>
</head>
<body>
</body>
</html>
正则表达式对象
本对象包含正则表达式模式以及表明如何应用模式的标志。
语法
1
re =
/pattern/[flags]
语法 2
re
= new RegExp("pattern",["flags"])
参数
re
必选项。将要赋值为正则表达式模式的变量名。
Pattern
必选项。要使用的正则表达式模式。如果使用语法 1,用 "/" 字符分隔模式。如果用语法
2,用引号将模式引起来。
flags
可选项。如果使用语法 2 要用引号将 flag 引起来。标志可以组合使用,可用的有:
g (全文查找出现的所有 pattern)
i (忽略大小写)
m (多行查找)
说明
不要将正则表达式对象跟全局 RegExp
对象混淆。尽管听起来像是一回事,但它们是截然不同的。正则表达式对象的属性只包含一个正则表达式的信息,而全局 RegExp
对象的属性包含了不断更新的每一个匹配出现的信息。
正则表达式对象保存用于查找字符串中的字符组合时的模式。创建正则表达式对象后,或者它被传递给字符串方法,或者字符串被传递给一个正则表达式方法。有关最近进行查找的信息被保存在全局
RegExp 对象中。
当预先知道查找字符串时用语法 1。当查找字符串经常变动或不知道时用语法
2,比如由用户输入得到的字符串。
在使用前 pattern 参数被编译为内部格式。对语法 1 来说,pattern 在该脚本被装载时被编译。对语法
2 来说,pattern 在使用前,或调用 compile 方法时被编译。
-----------
exec
方法
用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。
rgExp.exec(str)
参数
rgExp
必选项。包含正则表达式模式和可用标志的正则表达式对象。
str
必选项。要在其中执行查找的
String 对象或字符串文字。
说明
如果 exec 方法没有找到匹配,则它返回 null。如果它找到匹配,则 exec
方法返回一个数组,并且更新全局 RegExp
对象的属性,以反映匹配结果。数组的0元素包含了完整的匹配,而第1到n元素中包含的是匹配中出现的任意一个子匹配。这相当于没有设置全局标志 (g) 的 match
方法。
如果为正则表达式设置了全局标志,exec 从以 lastIndex
的值指示的位置开始查找。如果没有设置全局标志,exec 忽略 lastIndex 的值,从字符串的起始位置开始搜索。
exec
方法返回的数组有三个属性,分别是 input、index 和 lastIndex。
Input 属性包含了整个被查找的字符串。
Index 属性中包含了整个被查找字符串中被匹配的子字符串的位置。
LastIndex
属性中包含了匹配中最后一个字符的下一个位置。
原文:http://www.cnblogs.com/lowbrid/p/3557170.html