RegExp对象用法

<!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>javascript

 

 

正则表达式对象
本对象包含正则表达式模式以及代表如何应用模式的标志。

语法 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。html

Input 属性包含了整个被查找的字符串。java

Index 属性中包含了整个被查找字符串中被匹配的子字符串的位置。正则表达式

LastIndex 属性中包含了匹配中最后一个字符的下一个位置。

数组

相关文章
相关标签/搜索