正则表达式

正则表达式的创建

  • 使用 /内容/ 的语法形式,可以快速创建正则表达式
  • 也可以使用 new Regexp(‘内容’) 的形式,创建正则表达式
  • 使用 typeof 运算符检查正则表达式的类型,结果是 object

元字符

  • “元字符”是指一位指定类型的字符
元字符功能
\d匹配一个数字
\D匹配一个非数字字符
\w匹配一个单字字符(字母、数字或者下划线)
\W匹配一个非单字字符
\s匹配一个空白字符,包括空格、制表符和换行符
.任意字符
  • 开头和结尾
元字符功能
^匹配开头
$匹配结尾
元字符注意事项
  • 如果使用 new RegExp() 写法,反斜杠需要多写一个

字符的转义

  • 在特殊字符之前的反斜杠 \ 表示下个字符不是特殊字符,应该按照字面理解
/^.$/ 	// 检查字符串是不是任意字符
/^\.$/ 	// 检查字符串是不是一个点
/^\\$/  // 检查字符串是不是一个反斜杠
  • 不管一个符号有没有特殊意义,都可以在其之前加上一个 \ 以确保它表达的是这个符号本身

方括号表示法

  • 使用方括号,比如[xyz],可以创建一个字符集合,表示匹配方括号中的任意字符
  • 可以使用短横 - 来指定一个字符范围,^表示否定
元字符等价的方括号表示法
\d[0-9]
\D[^0-9]
\w[A-Za-z0-9_]
\W[^A-Za-z0-9_]

量词

量词意义
*匹配前一个表达式0次或多次。等价于{0,}
+匹配前面一个表达式1次或多次。等价于{1,}
?匹配前面一个表达式0次或者1次。等价于{0,1}
{n}n 是一个正整数,匹配了前面一个字符刚好出现了 n 次
{n,}n 是一个正整数,匹配了前一个字符至少出现了 n 次
{n,m}n 和 m 都是整数。匹配前面的字符至少出现了 n 次,最多 m 次

修饰符

  • 修饰符也叫做标志(flags),用于使用正则表达式实现高级搜索
修饰符意义
i不区分大小写搜索
g全局搜索
  • 修饰符的使用
var re = /m/gi;
var re = new RegExp('m', 'gi');

正则表达式的相关方法

方法简介
test()测试某字符串是否匹配正则表达式,返回布尔值
exec()根据正则表达式,在字符串中进行查找,返回结果数组或 null

test() 方法

  • 正则表达式的 test() 方法用来测试某字符串是否匹配此正则表达式,它返回 true 或 false

exec() 方法

  • exec() 方法功能是:在一个指定字符串中执行一个搜索匹配查找,返回一个结果数组或 null

exec() 方法的逐条遍历

  • exec() 方法最有趣的是,有 “g” 修饰符的正则表达式将自动成为“有状态的”,这意味着可以对单个字符串中的多次匹配结果进行逐条的遍历

字符串的相关方法

  • 字符串有哪些方法可以使用正则表达式呢?
方法简介
search()在字符串中根据正则表达式进行查找匹配,返回首次匹配到的位置索引,测试不到则返回 -1
match()在字符串中根据正则表达式进行查找匹配,返回一个数组,找不到则返回 null
replace()使用替换字符串替换掉匹配到的字符串,可以使用正则表达式
split()分隔字符串为数组,可以使用正则表达式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值