正则表达式
用于匹配字符串中字符组合的模式。在js中,正则表达式也是对象。通常用来查找、替换那些复符合正则表达式的文本,许多语言都支持正则表达式。
在js中的使用场景:验证表单(匹配);过滤页面中的一些敏感词(替换),或从字符串中获取特定的部分(提取)
语法
正则表达式步骤:
1、定义规则
const 变量名 = /表达式/
2、根据规则去查找
test()方法:用来查看正则表达式与指定的字符串是否匹配,返回布尔值
exec()方法:在一个指定字符串中执行一个搜索匹配,返回一个数组或null
regObj是你定义的规则的变量名
regObj.test(被检测的字符串) //匹配成功返回true
regObj.exec(被检测的字符串) //成功返回数组,否则返回null
元字符
元字符(特殊字符):一些具有特殊含义的字符,极大提高了灵活性和强大的匹配功能。
比如:规定只能输入英文26个英文字母,可写成[a-z]
元字符分类:
- 边界符(表示位置,开头和结尾必须用什么开头,用什么结尾)
console.log(/^h$/.test('hh')) //false /^h$/精确匹配,只能有一个h
console.log(/^h$/.test('h')) //true
- 量词(表示重复次数)
用来设定某个模式出现的次数。
- 字符类(比如\d表示0~9)
(1)[]匹配字符集合
[abc]:只要包含abc中任意一个字符,注意只能选一个
[a-z]:英文字母a到z中的任意一个。注意只能选一个
[^a-z]:匹配除了小写字母a到z中的以外的字符
//小写、大写、数字
console.log(/^[a-zA-Z0-9]$/.test('1'))
(2) . 匹配除了换行符之外的任何单个字符
(3)预定义:某些常见模式的简写方式
修饰符
约束正则执行的某些细节行为,如是否区分大小写、是否支持多行匹配等。
语法:
/表达式/修饰符
i是单词ignore的缩写,匹配时字母不区分大小写
g是单词global的缩写,匹配所有满足正则表达式的结果
- replace方法
查找替换
字符串.replace(/正则表达式/,'替换的文本')