正则表达式:又叫规则表达式,按照一定规则进行的组成的一个表达式,这个表达式的作用是匹配字符串的
正则表达式的作用:匹配字符串,在大多数编程语言中都可以进行使用
正则表达式的组成:是由元字符或者是限定字符组成的一个式子
## 元字符:
\n是换行符
**. 表示的是:除了\n以外的任意一个字符**
[]:表示的是范围,[0-9]表示的是0-9之间的任意一个数字
[1-7]表示的是1到7之间的任意一个数字
[1][0-9][0-9]代表100到199之间的任意一个数字
[a-z]表示的是所有小写字母的任意的一个
[A-Z]表示的是所有大写之间的一个字母
[a-zA-Z]表示的是所有字母的任意一个
[]:另一个函数,是把正则表达式的元字符的意义干掉 [.]就是一个.
| 代表的是要么 [0-9]|[a-z]代表要么是一个数字,要么是小写字母
()进行分组提升优先级,,从最左边开始进行计算
* :表示的是前面的表达式出现了0次或者多次 [a-z][0-9]* 代表的是小写字母中的任意一个,后面是要么没有数字的,要么是多个数字的
+ :代表是前面的表达式出现了一次或者多次, [a-z][9]+ 代表小写字母一个,后面最少一个9,或者多个9
? 表示的是前面的表达式出现了0次或者是1次,最少0次,最多一次
[4][a-z]? 代表的是数字出现一次,小写字母出现0次或者1次
? 另外一个含义阻止贪婪模式
限定符:限定前面表达式出现的次数
{0,} 表示的是前面的表达式出现了0次或者多次 和*一样
{1,}表示的是出现1次或者多次
{5,10} 表达式表示的是前面的表达式出现了5次到10次
{4}表达式出现了4次
{,10} ===这种是错误的
^ 表示的是以什么开始,或者是取反 ^[0-9]以数字开头
[^0-9]取反,非数字
[^a-z]取反,非小写字母
[^0-9a-zA-Z] 取特殊符号
$ 表示的是以什么结束 [0-9][a-z]$ 表示的是小写字母结束
\d 数字中的任意一个,相当于一个0-9
\D 非数字中的任意一个,相当是字母或特殊符号
\s 空白符中的一个
\S 非空白符
\w 非特殊符号 相当于数字字母
\W 特殊符号
\b 单词的边界
\t 水平制表键 tab键
\ 代表转义
//写正则表达式 ,根据字符串来写正则表达式进行匹配
//经验:找规律,不要追求完美
身份证的正则表达式 15位或18位
([1-9][0-9]{14})|([1-9][0-9]{16}[0-9xX]) 前面是第一位为0-9的数字,后面0-9的数字可以出现14次 ,就相当于15位
([1-9][0-9]{16}[0-9xX]) 前面的数字只出现一次,后面的数字出现16次,最后一次的出现一次,要有数字或者是xX的字母
([1-9][0-9]{14})|([0-9]{2}[0-9xX])? 代表的是前面的数字已经出现15位了,
后面加了问号,表示问号前面的表达式出现0次或者1次,出现即为18位,不出现即为15位
练习:1 座机号码的正则表达式
010-19876754
0431-87123490
正则表达式的写法 [0-9]{3,4}[-][0-9]{8} 代表的是前面的数字可以是出现3次或出现4次,中间加以-,后面的数字可以出现8次
第二种写法 \d{3,4}[-]\d{8}
2.qq的号码的正则表达式写法
[1-9]{5,11}
[^0]\d{5,11}
3.手机号码的正则表达式的写法
(^[1][358][0-9][0-9]{8})|([1][4][37][0-9]{8})|([1][7][01367][0-9]{8})
\d{11}
4.邮箱的正则表达式,必须要记住
[0-9a-zA-Z_.-]+ 代表的数字字母大写字母下划线点都有,出现了一次或者多次
2960415266@qq.com
[0-9a-zA-Z_.-]+[@][0-9a-zA-Z_.-]+([.][a-zA-Z]+){1,2}
[0-9a-zA-Z_.-]+代表前面的数字字母都可以出现 比如2960415266 3232xxrer
[@][0-9a-zA-Z_.-]+ 代表可以出现 qq,weixin,中文加英文等的前缀
([.][a-zA-Z]+){1,2} 以点进行开头,但是只能是小写字母或者大写字母,如果是一级邮箱,就出现一次,如果是二级邮箱就出现两次
/*
*/
创建正则表达式对象 正则表达式的作用--匹配字符串的
1,通过构造函数创建对象
var reg = new RegExp(/\d{5}/);//创建了一个对象,里面匹配出现5个数字的整数
var str = '我的电话是10086';
var flag = reg.test(str);
console.log(flag);//打印的结果位true
2.通过字面量的方式创建对象
正则表达式的使用
最新推荐文章于 2022-09-01 08:29:07 发布