正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串、将匹配的子串做替换或者从某个字符串中取出符合某个条件的子串等。
一、实例化创建对象
//实例化的创建
var reg = new RegExp(pattern,flags);
// pattern:正则表达式
// flags:标识(修饰符),可以不写。
// 标识主要包括:
// 1. i 忽略大小写匹配
// 2. m 多行匹配,即在到达一行文本末尾时还会继续寻常下一行中是否与正则匹配的项
// 3. g 全局匹配 模式应用于所有字符串,而非在找到第一个匹配项时停止
二、实例化的基本使用
var reg = new RegExp('a');
// 使用test方法检测函数规则
console.log(reg.test('abcdefg'));
console.log(reg.test('bcdefg'));
三、字面量创建对象
语法:var 变量 = /正则表达式/匹配模式
var reg = /a/i;
console.log(typeof reg);
console.log(reg.test("abcdefg"));
四、字面量的基本使用
创建一个正则表达式,检查一个字符串中是否有a
| :表示或者的意思
var reg = /a|b|c/;
console.log(reg.test("a"));
- [abc]:查找方括号内任意一个字符。
- [^abc]:查找不在方括号内的字符。[^ ] 除了
- [0-9]:查找从 0 至 9 范围内的数字,即查找数字。
- [a-z]:查找从小写 a 到小写 z 范围内的字符,即查找小写字母。
- [A-Z]:查找从大写 A 到大写 Z 范围内的字符,即查找大写字母。
- [A-z]:查找从大写 A 到小写 z 范围内的字符,即所有大小写的字母。
五、数量修饰符
- 通过量词可以设置一个内容出现的次数
- 量词只对它前边的一个内容起作用
- {n} 正好出现n次
- {m,n} 出现m-n次
- {m,} m次以上
- + 至少一个,相当于{1,}
-
* 0个或多个,相当于{0,}
-
? 0个或1个,相当于{0,1}
var reg = /a{5}/;
var reg = /(ab){5}/;
var reg = /b{5}/;
var reg = /ab{1,5}c/;
var reg = /ab{5,}c/;
var reg = /ab+c/;
var reg = /ab*c/;
var reg = /ab?c/;
六、边界修饰符
1. ^ 以...开始
2. $ 以...结尾
eg:
'^abc' 匹配以abc开头
‘abc$' 匹配以abc结尾
七、单字修饰符
1. . 匹配任意字符,除了换行符
2. [] 用来表示一组字符,单独列出:[abc] 匹配 'a','b'或'c'
3. \d 匹配任意数字,等价于 [0-9].
4. \D 匹配任意非数字
5. \w 匹配字母数字及下划线
6. \W 匹配非字母数字及下划线
7. \s 匹配任意空白字符,等价于 [\t\n\r\f].
8. \S 匹配任意非空字符