四、正则表达式
4.1 概述
4.1.1 概念
正则表达式是用于匹配字符串中字符串的模式,在js中,正则表达式也是对象
4.1.2 正则表达式特点
4.2 正则表达式在js中的使用
4.2.1 创建正则表达式
两种方式创建
第一个输出/123/
4.2.2 测试正则表达式test
第一个输出true,因为符合正则表达式中输入数字的要求,第二个输出false,因为是字符串不是不是数字
4.3 正则表达式的特殊字符
4.3.1 正则表达式的组成
4.3.2 边界符
第一块的全为true,里面的文本只要含有abc这个字符串都是true;
第二块加了个^是说明必须要以abc开头的字符串才为true;
第三块加了^和$为精确匹配,要求必须是abc字符串才能为true
4.3.3 字符类
加了个方括号表示字符串出现了abc三个字母任意一个都返回true,下面输出除了最后一个都是true,加了限定符号如最后一个var表示必须要是abc其中一个字母的字符都是true
a-z表示26个英文字母返回任意一个都是true,底下前两个true,后两个false
字符组合
可以把需要包含的字符写在中括号中添加,下面除了最后一个输出false其他都是true
取反符
注意:如果中括号里面有^表示取反的意思,不要和边界符号 ^混淆
表示中括号里面的符号都不能取,下面的输出除了最后一个其他都是false
【】限定了字符串只能多选一
4.3.4 量词符
*量词符
表示某个字符串可以出现0次或者更多次(>=0)
下面说明a可以出现零次或多次,全为true
+量词符
表示某个字符串可以出现1次或者更多次(>=1)
下面说明a可以出现1次或多次,除了第一个全为true
?量词符
出现0次或1次
{n}量词符
出现次数=n才为true
{n,}量词符
出现次数>=n才为true
{n,m}量词符
出现次数>=n且<=m才为true
4.3.5量词重复某个模式的次数
前面所学的中括号[]限定了只能多选一,但是可以在后面添加量词符,表示可以在这个次数下只要字符串都满足要求就是true
上面的最后四个输出,除了最后一个其他的都为false
4.3.6 括号总结
大括号–重复次数
中括号–字符集合多选一
小括号–表示优先级
网站上可以验证正则表达式,表达式栏不用加//。
注意:/^abc{3}$/只是让c重复三次,所以大括号中只有第三个输出true。
但是如果是/^(abc){3}$/是让abc重复三次,下面只有第二个输出正确
4.3.7 预定义类特殊字符
4.4 正则替换
4.4.1 replace替换
两种替换方法,替换对象可以是字符串也可以写成正则表达式形式
4.4.2 正则表达式参数
敏感词过滤