正则表达式:
正则表达式是由一个字符序列形成的搜索的模式。
正则表达式可以是一个简单的字符,或一个更复杂的模式。
正则表达式可用于所有文本搜索和文本替换的操作。
正则表达式的创建:
字面量(直接量):
构造函数:
正则表达式的相关方法
test 注意点:
1 如果正则表达式中有修饰符"g",这时,在reg中会维护lastIndex属性,记录下一次开始的位置,当第二次执行test的时候,从lastIndex开始检索。
2 如果正则表达式中没有修饰符"g",不会维护lastIndex属性,每次执行从开始位置检索
exec 注意点:
1 如果正则表达式中有修饰符"g",这时,在正则表达式的实例reg中会维护lastIndex属性,记录下一次开始的位置,当第二次执行exec的时候,从lastIndex开始检索。
2 如果正则表达式中没有修饰符"g",不会维护lastIndex属性,每次执行从开始位置检索
字符串的相关正则方法
字符分类
普通字符
字母、数字、下划线、汉字、没有特殊含义的符号(,;!@等)
特殊字符
\:将特殊字符转义成普通字符
模式修饰符
i:ignoreCase,匹配时忽视大小写
m:multiline,多行匹配
g:global,全局匹配
字面量创建正z则时,模式修饰符写在一对反斜线后
直接量字符
字符集合:一个字符集合,也叫字符组。匹配集合中的任意一个字符。你可以使用连字符‘-’指定一个范围
[abc] 查找方括号之间的任何字符
var str = 'abc qwe abd'
var reg1 = /[abc]/;// 只要包含有a 或者 包含有b 或者包含有c 都返回为true
console.log(reg1.test(str)); //true
[0-9] 查找任何从0至9的数字
var str = 'abc qwe abd1'
var reg1 = /[0-9]/igm;
console.log(reg1.test(str)); //true
[^xyz] 一个反义或补充字符集,也叫反义字符组。也就是说,它匹配任意不在括号内的字符。
var str = 'abc qwe abd1,2'
console.log(str);
var reg1 = /[^abc ]/igm;
console.log(reg1.exec(str)); //true
边界符
^ 匹配输入开始
$ 匹配输入结尾。
如果 ^和 $ 在一起,表示必须是精确匹配。
var rg = /abc/;
// /abc/ 只要包含有abc这个字符串返回的都是true
console.log(rg.test('abc')); //true
console.log(rg.test('abcd')); //true
console.log(rg.test('aabcd'));//true
必须是以abc开头的字符串才会满足:
var reg = /^abc/;
console.log(reg.test('abc')); // true
console.log(reg.test('abcd')); // true
console.log(reg.test('aabcd')); // false
必须是以abc结尾的字符串才会满足:
var reg = /abc$/;
console.log(reg.test('abc')); // true
console.log(reg.test('qweabc')); // true
con