正则表达式的知识点总结

1 正则表达式能做什么
1 查找特定字符 exec() test() match() search()
2 替换文本(eg.敏感词过滤) replace
3 数据有效性验证 邮箱 QQ

2 创建正则表达式的两种方式
1 字面量或直接量;/js/igm
2 构造函数:new RegExp(‘js’,‘igm’)
new RegExp(‘变量’,‘igm’)

3 模式修饰符
1 g 全局匹配
exec;无论是否全局匹配,都会返回分组中匹配的内容
无论是否全局匹配都只返回当前匹配到的内容,而不是所有
只不过全局匹配时可以继续匹配下去
match:只有非全局匹配,才会返回分组中匹配到的内容
全局匹配只会一次返回所有匹配到的字符
replace:非全局匹配,只替换第一个匹配到的内容
全局匹配替换所有匹配到的内容
test search split :没有区别

2 m 多行匹配
1.js
2.js
3.js
1 全局匹配
2 使用^和$

3 i 不经常使用 不在描述
4 简单的转义字符
1 \n换行符
2 \t制表符
3 \xnn由十六进制nn指定的拉丁字符(eg:.\xoA<=>\n)
4 \uxxxx 由十六进制数xxxx指定的Unicode字符(eg.\u0009<=>\t)

5 字符类
1 […]和[^…]方括号内的任意一个字符
^表是否定
2 .除换行字符之外的任意一个字符
3 \w和\w任何字母 数字以及下划线组成的一个字符
4 \d和\d任何一个数字
5 \s和\S任何Unicode空白符(eg:空格 制表符 \n)
在这里插入图片描述

6 重复(量词)
1 {n,m}n<=x<=m
2 {n,}x>=n
3 {n} x=n
4 ? {0,1}
5 + {1,}
6 * {0,}
在这里插入图片描述

7 非贪婪匹配
1 {n,m}?
2 {n,}?
3 {n}?
4 ??
5 +?
6 *?

8 选择 分组和引用
1 |选择,匹配该操作符号或右边的东西
2 ()…)分组 统一操作;捕获括号中的内容
3 (?..)非捕获性分组
4 \n第n个捕获分组的引用(eg.\1 \2 \3…)

9 捕获到的内容
1 exec返回的数组中
2 /\1/模式中
3 replace的第二个参数中,$1
4 RegExp.$1

10 指定匹配位置
1 ^受匹配
2 $ 尾匹配
3 \b和\b单词的边界,即\w和\W之间的位置
4 (?=p)和(?!p)前瞻性匹配,只有接下来的字符=p,才匹配之前的内容

11 RegExp对象的实列方法
1 test(字符串)
2 exec(字符串)
3 toString() toLocaleString() valueOf()

12 RegExp对象的实列属性
1 global是否设置了g
2 ignoreCase是否设定了i
3 multiline是否设定m
4 source字面量形式对应的字符串
5 lastIndex开始搜索下一个匹配的字符位置,默认0

13 RegExp对象的构造函数属性
1 input匹配的字符串
2 lastMatch最近一次的匹配项
3 last最近一次匹配的捕获组
4 leftContext字符串匹配到的内容之前的文本
5 rightContext字符串匹配到的内容之后的文本
6 $1-$9第1~第9个匹配到的捕获组

14 Srtring对象和正则表达式相关的方法
1 search(正则或字符串)
2 match(正则)
3 split(正则或字符串)
4 replace(正则或字符串 替换成的文本或函数)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值