正则表达式:
1、什么是正则表达式
正则表达式是描述字符串模式的对象。
2、正则表达式基础
元字符:正则表达式中有特殊含义的非字母字符
* + ? $ ^ . | \ () {} []
字符类:[abc] 匹配a或b或c的字符
字符类取反:[^abc] 匹配不是a或b或c的字符
贪婪模式:
正则表达式默认为贪婪模式,尽可能的多匹配字符
非贪婪模式:
最少匹配模式,在量词后加’?’即可 /\d{3,9}?/
小括号有分组的功能
反向引用:
利用小括号进行分组,再利用$1选择分组,1可以是任意分组
忽略分组:(?:title),则可以忽略这个分组
javascript对象有5个属性,source、lastIndex、multiline、ignoreCase、globa
方法:test()有返回true,没有返回false
exec() 匹配中了则返回结果,不中则返回null
有两个属性:1、index(匹配字符的第一个字符的位置) 2、input(保存原来的string)
前瞻:
3、正则表达式语法
3.1、字面量
var reg = /\bis\b/g; 全局匹配所有is的单词
3.2、构造函数
接收两个参数,第一个是正则表达式,第二个是修饰符,修饰匹配范围
var reg = new RegExp(‘\\bis\\b’,’g’);
4、字符串方法:
1、search(); 可以是正则表达式,返回index,不是全局,匹配不中返回-1
2、match(); 传入正则表达式,寻找一个或者多个匹配的文本,是否有g标志,差别大
没有全局的时候:没有匹配返回Null,匹配中的返回数据,index, input
全局的时候:匹配不中,返回null,匹配中,返回多个匹配子串,返回一个数组
3、split(); 可以传入正则表达式,返回分割后的数组
4、replace(); 第一个参数可以是正则表达式,第二个参数可以是函数
函数如下:
5、总结:javascript的正则表达式没有想象中那么难,特别是写了一段时间javascript代码之后,第一次学的时候总觉得看不懂,现在又重新学了一次,感觉好很多了,这几天找一些题目来练习一下,巩固学习到的知识。
一个图形化的正则表达式验证网站:https://regexper.com/