正则表达式可以用来做表单校验,也可以用来搜索关键字,匹配字符等等,功能非常强大,但是刚开始看到正则的语法就头大,什么代码,明明乱码好嘛?!
但是这么好用的东西怎么能不学习,偶然看到师父转发的文章,简直让我这初学者醍醐灌顶,作者讲的很通俗易懂。
在文章开始前,要了解es6字符串操作方法
(也有一篇微信文章转载复述了此文,附上链接:一次性搞懂JavaScript正则表达式之语法)
本人学习所得:
1、推荐一个解析正则表达式的网站:Regexper,这个网站可以解析任一个正则表达式,用图例的方式显示,类似可视化的效果,帮助理解正则表达式。非常好用。
2、文章没有讲到正则表达的两种创建方法
- 字面量创建方式: reg = /pattern/flags
- 实例创建方式:reg = new RegExp(pattern,flags);
3、正则表达式的方法:exec(),用于检索字符串中的正则表达式的匹配。
全局匹配的情况下会逐一解析字符串中的字符(简要说明,请大神轻喷并给予指点)
例如:“my name is lilly”,该字符串多次调用exec(),依次输出my,name,is,lilly
4、对"\b"的理解:匹配的是空格后和单词间的单词边界
例子:
得到的是后一个regex
得到的是一个数组
得到的是第一个regex
6、量词匹配例子
匹配最多
匹配最少
7、反向引用(之后补充)
8、怎么理解零宽?
用match方法做例子,会匹配零宽(如?=)后的字符,但实际不会往后走
例子:
index仍为0,且不打印,括号内的子表达式
(用match方法时,普通括号的子表达式会打印)
对比:
写在最后,正则的语法不经常温习、实践的话,两三天全还给人家了,所以要常翻来看看。