一、介绍
正则表达式是用于匹配字符串中字符组合的模式。在javascript中,正则表达式也是对象。通常用来查找、替换那些符合正则表达式的文本,许多语言都支持正则表达式。
正则表达式的作用:
表单验证(匹配)、过滤敏感词(替换)、字符串中提取我们想要的部分(提取)
二、语法
1、定义正则表达式语法
2、判断是否有符合规则的字符串
test()方法,用来查看正则表达式与指定的字符串是否匹配。
如果正则表达式与指定的字符串匹配,返回true,否则false。
3、检索(查找)符合规则的字符串
exec()方法,在一个指定的字符串中执行一个搜索匹配。
如果匹配成功,exec()方法返回一个数组,否则返回null。
三、元字符
普通字符:
大多数的字符仅能够描述他们本身,这些字符称作普通字符,例如所有的字母和数字。也就是说普通字符只能够匹配字符串中与他们相同的字符。
元字符:
是一些具有特殊含义的字符,可以极大提高灵活性和强大的匹配功能。比如,规定用户只能输入英文26个英文字母,普通字符的话abcdefghijklm......,但是换成元字符写法:[a-z]。
为了方便学习和记忆,我们对众多的元字符进行了分类:
- 边界符(表示位置,开头和结尾,必须用什么开头,用什么结尾)
如果^和$在一起,表示必须是精确匹配。
- 量词(表示重复次数)
用来设定某个模式出现的次数。
- 字符类(比如\d表示0-9)
1、[ ] 匹配字符集合
后面的字符串只要包含abc中任意一个字符,都返回true。
[ ] 里面加上 - 连字符,表示一个范围:
比如:[a-z]表示 a 到 z 26个英文字母都可以,[a-zA-Z] 表示大小写都可以,[0-9]表示0~9的数字都可以。
[ ]里面加上 ^ 取反符号,比如[^a-z]匹配除了小写字母以外的字符,注意要写到中括号里面。
2、. 匹配除换行符之外的任何单个字符
3、预定义:指的是某些常见模式的简写方式
四、修饰符
修饰符约束正则执行的某些细节行为,如是否区分大小写、是否支持多行匹配等。
语法:/表达式/修饰符
i是单词ignore的缩写,正则匹配时不区分大小写;g是单词global的缩写,匹配所有满足正则表达式的结果。
替换replace,语法: