摸鱼不如来了解一下--正则表达式(regular expression)|8月更文挑战

496 阅读3分钟

这是我参与8月更文挑战的第29天,活动详情查看:8月更文挑战

正则表达式(regular expression)

●   定义:正则表达式是 用于匹配字符串中字符组合的模式,在JS中正则表达式是一个对象

image.png

1、创建正则表达式

●   1、通过RegExp(regualr expressio)对象的构造函数创建

image.png

2、利用正则表达式字面量来创建

image.png

●   注意:正则表达式中/ /之间不需要加引号

2、测试正则表达式test( )

●   test( )正则对象方法,用于检测字符串是否符合该规则,返回值为true or false,参数为测试字符串 (就是检测文本是否符合我们写的正则表达式规范)

●   语法

●   regexObj.test(str)

●   regexObj是写的正则表达式

●   str是要测试的文本

3、正则表达式中的特殊字符

边界符

●   ^ 表示匹配行首的文本(以谁开头)

●   $ 表示匹配行尾的文本(以谁结尾)

●   ^ 和$一起使用,则为精确匹配

字符类

●   [ ] 表示有一系列字符可供选择,只要匹配其中一个就可以,所有可供选择的字符放到中括号内。(中括号是多选一的意思,每次只能验证一个字符)

image.png ●   字符类与边界符组合

image.png

范围符

●   [a-z]方括号内部的 - 表示范围符,表示匹配范围是从a到z的小写字母

image.png

字符组合

●   在表达式的可选择字符中,可以组合多种字符

image.png

●   注意!

●   /^[^a-z]$/  在中括号外面的^表示的是边界符;而在中括号里面的^表示的是取反的意思,表示匹配的字符串中不包含小写字母a-z

image.png

●   匹配的字符串不能是小写字母、大写字母、数字0-9、下划线_和短横线-

image.png

量词符

●   量词符用来设定某个模式出现的次数

image.png

●   字符类的中括号是多选一的作用,只能测试单个字符。结合量词符使用,能让这个功能重复多次(量词符用来设定某个模式出现多次)

image.png

4、正则表达式的括号总结

●   大括号

●   量词符,里面表示重复次数

●   中括号

●   字符集合,匹配括号内的任意一位字符

●   小括号

●   表示优先级

5、预定义类

预定义类指的是某些常见模式的简写方式

image.png

6、正则表达式替换

replace替换

●   replace( ) 方法可以实现替换字符串操作,用来替换的参数可以是一个字符串或者是一个正则表达式

●   stringObject.replace( regexp/substr, replacement)

●   参数1:被替换的字符串 或者正则表达式

●   参数2:要替换成的目标字符串

●   返回值是一个替换完毕的新字符串

7、正则表达式参数

/ 表达式/[switch]

switch也称为修饰符,表示按照什么样的模式来匹配

●   g:全局匹配

●   i:忽略大小写

gi:全局匹配和忽略大小写