首页 > 代码库 > Javascript学习-------正则表达式
Javascript学习-------正则表达式
Javascript RegExp对象(正则表达式对象):
RegExp:是一种模式。
当你要检索某个文本时,可以使用这种模式来描述要检索的内容。
创建RegExp对象:
使用RegExp的显式构造函数创建:
new RegExp("pattern"[,flags])
使用RegExp的隐式构造函数创建:
/pattern/[flags]
解释:pattern是要使用的正则表达式模式文本
flags设置正则表达式的标志信息
g:全局标志。(对所有匹配的内容起作用)
i:忽略大小写标志
m:是多行标志
RegExp对象的方法:
1.exec()方法:该方法用正则表达式模式在字符串中查找,并返回包含改查找结果的数组。
语法: regExpobj = exec(string);
在使用 "g" 参数时,exec() 的工作原理如下:
找到第一个 "e",并存储其位置
如果再次运行 exec(),则从存储的位置开始检索,并找到下一个 "e",并存储其位置
·exec()方法返回的数组有三个属性:input,index,lastIndex
所以可以使用regExpobj.index来显示位置
2.test()方法:该方法返回一个Boolean值,指出被查找的字符串中是否存在正则表达式模式。
语法:regExpobj.test(string);
存在返回true,不存在返回false;
3.match()方法:使用正则表达式模式对字符串进行查找,并将包含查找的结果作为数组返回。 语法:string.match(regExpobj);
·match()方法返回的数组也有三个属性:input,index,lastIndex
4.search()方法:该方法返回与正则表达式查找内容匹配的第一子字符串的位置。
语法:string.search(regExpobj);
如果没有找到匹配,返回-1;
search() 对大小写敏感 ,可以使用i标志,声明忽略大小写。
5.replece()方法:该方法使用正则表达式模式对字符串进行搜索,并对搜索到的内容用指定字符串替换,返回一个字符串对象,包含了替换后的内容。
语法:string.replace(regExpobj|stringobj,replaceText);
如果第一个参数为普通字符串,则执行精确搜索,如果是正则表达式则执行模糊搜索。
特殊的replacetext:
字符 | 替换文本 |
---|---|
$1、$2、...、$99 | 与 regExpobj 中的第 1 到第 99 个子表达式相匹配的文本。 |
$& | 与 regExpobj 相匹配的子串。 |
$` | 位于匹配子串左侧的文本。 |
$‘ | 位于匹配子串右侧的文本。 |
$$ | 直接量符号。 |
6.split()方法:
返回按某种分割标志符将一个字符串拆分成若干个字符串时所产生的子字符串数组。
语法:string.split(separator[,limit]]);
RegExp对象的方法:
属性 | 描述 |
---|---|
global | RegExp 对象是否具有标志 g。 |
ignoreCase | RegExp 对象是否具有标志 i。 |
lastIndex | 一个整数,标示开始下一次匹配的字符位置。 |
multiline | RegExp 对象是否具有标志 m。 |
source | 正则表达式的源文本。 |
参考:http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp