正则表达式(regular expression)
● 定义:正则表达式是 用于匹配字符串中字符组合的模式,在JS中正则表达式是一个对象
1、创建正则表达式
● 1、通过RegExp(regualr expressio)对象的构造函数创建
2、利用正则表达式字面量来创建
● 注意:正则表达式中/ /之间不需要加引号
2、测试正则表达式test( )
● test( )正则对象方法,用于检测字符串是否符合该规则,返回值为true or false,参数为测试字符串 (就是检测文本是否符合我们写的正则表达式规范)
● 语法
● regexObj.test(str)
● regexObj是写的正则表达式
● str是要测试的文本
3、正则表达式中的特殊字符
边界符
● ^ 表示匹配行首的文本(以谁开头)
● $ 表示匹配行尾的文本(以谁结尾)
● ^和$一起使用,则为精确匹配
字符类
● [ ] 表示有一系列字符可供选择,只要匹配其中一个就可以,所有可供选择的字符放到中括号内。(中括号是多选一的意思,每次只能验证一个字符)
● 字符类与边界符组合
范围符
● [a-z]方括号内部的 - 表示范围符,表示匹配范围是从a到z的小写字母
字符组合
● 在表达式的可选择字符中,可以组合多种字符
● 注意!
● /^[^a-z]$/ 在中括号外面的^表示的是边界符;而在中括号里面的^表示的是取反的意思,表示匹配的字符串中不包含小写字母a-z
● 匹配的字符串不能是小写字母、大写字母、数字0-9、下划线_和短横线-
量词符
● 量词符用来设定某个模式出现的次数
● 字符类的中括号是多选一的作用,只能测试单个字符。结合量词符使用,能让这个功能重复多次(量词符用来设定某个模式出现多次)
4、正则表达式的括号总结
● 大括号
● 量词符,里面表示重复次数
● 中括号
● 字符集合,匹配括号内的任意一位字符
● 小括号
● 表示优先级
5、预定义类
预定义类指的是某些常见模式的简写方式
6、正则表达式替换
replace替换
● replace( )方法可以实现替换字符串操作,用来替换的参数可以是一个字符串或者是一个正则表达式
● stringObject.replace( regexp/substr, replacement)
● 参数1:被替换的字符串 或者正则表达式
● 参数2:要替换成的目标字符串
● 返回值是一个替换完毕的新字符串
7、正则表达式参数
/表达式/[switch]
switch也称为修饰符,表示按照什么样的模式来匹配
● g:全局匹配
● i:忽略大小写
gi:全局匹配和忽略大小写