本文章目标:学习正则表达式概念及语法,编写简单的正则表达式实现字符查找或检测;
一:正则表达式简介
1 什么是正则表达式
是用于匹配字符串中字符组合的模式。在JS中,正则表达式也是对象
2 正则表达式作用
- 表单验证(匹配):用户名只能输入英文字母、数字或者下划线,昵称输入框中可以输入中文
- 过滤敏感词(替换):过滤掉页面内容中的一些敏感词
- 字符串中提取想要部分(提取)
二:语法格式:
分为两步:先定义正则表达式规则,再根据规则进行查找
1 定义正则表达式
const 变量名 = /表达式/
2 检索、判断是否匹配
(1)test()方法
用来判断确定的正则表达式与指定的字符串是否匹配。如果匹配成功返回true,没有匹配成功返回false
语法:
定义规则的变量名.test(被检测的字符串)
案例:
const str = '前端加油'
const reg = /前端/
console.log(reg.test(str));//true
(2)exec()方法
在一个指定字符串中执行一个搜索匹配。如果匹配成功,该方法返回一个数组,否则返回null
语法:
建立的规则.exec(被检测的字符串)
案例:
const str = '前端加油'
const reg = /前端/
// console.log(reg.test(str));
console.log(reg.exec(str));
三:元字符
普通字符:
大多数字符仅能描述他们本身,称为普通字符。例如所有的字母和数字,以及汉字
也就是说,普通字符只能够匹配字符串中与它们相同的字符
元字符(特殊字符)
是一些具有特殊含义的字符,可以极大提高灵活性和强大的匹配功能
- 比如,规定用户只能输入26个英文字母,普通字符要写abcdefg...
- 元字符写法:[a-z]
元字符分类
边界符(表示位置,开头和结尾)
作用
用来提示字符所处的位置,主要有两个字符
^、$两个都出现在正则表达式定义的规则中,则表示精确匹配
量词(表示重复次数)
用来定义某个模式出现的次数
字符类
...未完待更