Web-API --正则表达式
正则表达式:
-
正则表达式是什么以及它的用途又是什么?
现实生活中,我们想要找人可以根据某个人的外貌特征、身份信息查找。
而在计算机世界中,想要快速查找的我们需要的数据就不得不提到正则表达式了!
它的最大作用就是帮我们匹配数据是否一致。
正则表达式是js中的对象,而且它是用于匹配字符串中字符组合的模式。
用途:主要用于查找、替换符合正则表达式的文本。
比如说可以用于表单验证(匹配)、过滤敏感词(替换)、字符串中提取信息(提取)。
-
请说明正则表达式的语法格式是什么?
我们找人也不是一股脑地直接查找,往往是先想好我们找的人该是怎么样的,才下手查找。
所以说正则表达式的语法得先定义规则,再进行查找。
语法:
-
const 变量名 = /表达式/
(注://是正则表达式的字面量,即查找内容) -
变量名.test(被检测的字符串)
(注:若正则表达式与指定字符串匹配,返回true,否则false 。即表达式与被检测的字符串匹配,返回true,否则false) 只要含有与表达式内容相同的字符串就会是true。 -
指定字符串搜索匹配,可以用exec()方法。
语法:横竖都得先写
const 变量名 = /表达式/
再用exec方法变量名.exec(变量名)
若匹配成功,会返回一个数组,否则会是null。
-
-
元字符有哪些,有何作用?
-
元字符:含有特殊含义的字符,如:[a-z]表示26个字母。
-
元字符的分类:
-
边界符(又名位置符,对开头和结尾的限定)
-
^:表示匹配行首的文本(以谁开头)例如:
console.log(/^你好/.test('你好呀')) //返回true;
console.log(/^你好/.test('呀你好')) //返回false
-
$:表示匹配行尾的文本(以谁结尾)
-
^与$一起使用,就是精准匹配。
-
-
量词(用于设定某个模式的出现次数)
- *(重复零次或更多次,理解:星星要么没有 要么很多)
- +(重复一次或更多次)
- ?(重复零次或一次)
- {n} (指定重复n次)
- {n,} (重复n次或更多次)
- {n,m} (重复n次到m次)
-
字符类(可以匹配字符集合 )
-
使用[]符号,若出现[]里面的一个字符,都会返回true。
例如:[avd] 若出现a或v或d,返回true.
-
在[]中加一个-连字符,就会表示一个范围 。
例如:[a-z]可表示26个字母。[0-9]表示0到9的任意一个数字.
-
在[]中加一个^取反符号,就会匹配除[]里面外的字符。
例如:[ ^a-z]表示匹配除了小写字母以外的字符。
- .匹配除了换行符以外的任何单个字符。
注:一些常见的模式简写方式:
\d:相当于[0-9]
\D: 相当于[ ^0-9]
\w:相当于[A-Za-z0-9],能匹配所有字母、数字和下划线的字符
\W:相当于[ ^A-Za-z0-9],除字母、数字和下划线以外的字符
\s:相当于[\t\r\n\v\f],能匹配换行符、制表符、空格符等
\S:相当于[ ^\t\r\n\v\f],能匹配非空格的字符。
-
-
-
-
什么是修饰符?
修饰符的作用就是约束正则执行的某些细节行为,如:是否区分大小写,是否支持多行匹配。
语法:
/表达式/修饰符
常用的修饰符有:i表示ignore的缩写,用于不区分表达式字母的大小写。
g表示global的缩写,用于匹配满足正则表达式的结果。
replace方法的使用:用于替换
语法:字符串.replace(/正则表达式/,’替换文本‘)