new RegExp()

正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。

RegExp对象

images

Note:exec 是 RegExp 对象的方法;math 是 String 对象的方法。二者还有一个不同点,就是对参数 g 的解释。

test、match、exec方法区别

使用 返回值
test reg.test(str) true/false
match str.macth(reg) 返回第一个匹配到的值,如果指定了参数 g,那么 match 一次返回所有的结果。
exec reg.exec(str) 如果不匹配就返回null,否则总是返回长度为1的数组,如果指定了匹配模式g,则下次调用 exec 时,会从上个匹配的 lastIndex 开始查找

例子

test

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var rs = regexp.test(str);
//true

match

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var rs = str.match(regexp);
//["A", "B", "C", "D", "E", "a", "b", "c", "d", "e"]

exec

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var rs;
while ((rs = regexp.exec(str)) != null)
{
document.write(rs);
document.write(regexp.lastIndex);
document.write("<br />");
}
//每次只返回一个数组,
A1
B2
C3
D4
E5
a27
b28
c29
d30
e31

replace

str.replace(str)
str.replace(reg)

sunbaixin wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!