js正则表达式
一、正则表达式
正则表达式(regular expression)描述了字符串的“构成模式”,经常被用于检查字符串是否符合预定的格式要求
1.正则表达式的创建
使用/内容/的语法形式,可以快速创建正则表达式
也可以使用new RegExp(‘内容’)的形式,创建正则表达式,反斜杠需要多写一个
typeof检查正则表达式为object
2.元字符
"元字符"是指一位指定类型的字符
元字符 | 功能 |
---|---|
\d | 匹配一个数字 |
\D | 匹配一个非数字字符 |
\w | 匹配一个单字字符(字母、数字或者下划线) |
\W | 匹配一个非单字字符 |
\s | 匹配一个空白字符,包括空格、制表符和换行符 |
. | 任意字符 |
^ | 匹配开头 |
$ | 匹配结尾 |
3.方括号表示法
使用方括号,比如[xyz],可以创建一个字符集合,表示匹配方括号中的任意宇符
//验证某字符串是否是5位字母,大小写均可
var str = "aAaaa"
console.log(/^[a-zA-Z]{5}$/.test(str));
4.量词
量词 | 意义 |
---|---|
* | 匹配前一个表达式0次或多次。等价于{0,} |
+ | 匹配前面一个表达式1次或者多次。等价于{1,} |
? | 匹配前面一个表达式0次或者1次。等价于{0,1} |
{n} | n是一个正整数,匹配了前面一个字符刚好出现了n次 |
{n,} | n是一个正整数,匹配前一个字符至少出现了n次 |
{n,m} | n和m都是整数。兀配前面的字符至少n次,最多m次 |
5.修饰符
修饰符也叫作标志(flags),用于使用正则表达式实现高级搜索
修饰符 | 意义 |
---|---|
i | 不区分大小写搜索 |
g | 全局搜索 |
6.正则表达式和字符串
正则表达的方法
| 方法| 简介 |
|–|--|
| test() | 测试某字符串是否匹配正则表达式,返回布尔值 |
| exec() |根据正则表达式,在字符串中进行查找,返回结果数组或者null |
exec()方法最有趣的是,有“g”修饰符的正则表达式将自动成为“有状态”的,这意味着可以对单个字符串中的多次匹配结果进行逐条的遍历
方法 | 简介 |
---|---|
search() | 在字符串中根据正则表达式进行查找匹配,返回首次匹配到的位置索引,测试不到则返回-1 |
match() | 在字符串中根据正则表达式进行查找匹配,返回一个数组,找不到则返回null |
replace() | 使用替换字符串替换掉匹配到的子字符串,可以使用正则表达式 |
split() | 分隔字符单为数组,可以使用正则表达式 |