文章目录
1.正则创建
字面量创建
语法:var regExp=/正则表达式/修饰符;
var reg=/\d/g;
直接实例化
语法:var regExp=new RegExp(‘正则表达式’,修饰符);
var reg = new RegExp(/\w/);
console.log(reg.test("hello"));
2.修饰符
g | 全局匹配 |
---|---|
i | 不区分大小写 |
ig | 全局匹配且不区分大小写 |
3.正则函数
3.1.正则对象调用函数
*即正则对象reg在.前面,字符串str在()里面
text()
reg.text(str):
返回一个布尔值
exec()
reg.exec(str):
若有匹配结果则返回一个数组,若无返回null
3.2.字符串调用函数
*即字符串str在.前面,正则对象reg在()里面
replace()
str.replace(reg,str2):
用str2替换掉正则匹配到的字符,返回替换后的字符串
search()
str.search(reg):
若有匹配结果则返回第一个结果的下标,若无返回-1
match()
str.match(reg):
若有匹配结果则返回一个数组,若无返回null
示例:
var reg = new RegExp('hello');
var str = 'hello js';
//正则对象调用函数
console.log(reg.test(str)); //true
console.log(reg.exec(str)); //Array(1)
//字符串调用函数
console.log(str.search(reg)); //0
console.log(str.replace(/h/g, 'H')); //Hello js
console.log(str.match(/l/g));Array(2)
4.正则语法
4.1.正则字符类
字符 | 含义 |
---|---|
[a-z] | 匹配小写字母 |
[A-Z] | 匹配大写字母 |
[a-zA-Z] | 匹配字母 |
[0-9] | 匹配数字 |
[0-9a-zA-Z_] | 匹配数字字母和下划线 |
[^0-9] | 匹配非数字 |
[^a-zA-Z] | 匹配非字母 |
4.2.常用字符类
字符 | 含义 |
---|---|
\d | 匹配数字 |
\D | 匹配非数字 |
\w | 匹配字母数字下划线 [0-9a-zA-Z_] |
\W | 匹配非字母数字下划线 |
\s | 匹配空格 |
\S | 匹配非空格 |
* | 匹配任意(除换行符) |
^ | 匹配行首文本 |
$ | 匹配行尾文本 |
4.3.重复字符
字符 | 含义 |
---|---|
* | 重复最少零次(任意次) |
+ | 重复最少一次(非零次) |
? | 重复最多一次(零次或一次) |
{n} | 重复n次 |
{n,} | 重复至少n次 |
{n,m} | 重复n到m次 |
[] | 匹配字符组内的字符 |
(str1|str2) | 匹配字符串str1或str2 |
5.定位符
字符 | 含义 |
---|---|
^ | 限定行首数据,以…开头 |
$ | 限定行首数据,以…结尾 |
示例:
判断是否以数字开头:var reg=/^\d/;
判断是否以非字母结尾:
console.log(/[^a-zA-Z]$/.test('hello666'));//true