# 1、量词
```
n+ 匹配任何包含至少一个 n 的字符串。匹配一个或多个前导字符(前导字符就是紧挨着+的前一个字符)
```
![](https://img.kancloud.cn/28/3d/283d4ecc2c60f5aa5de9fbac7ba866a7_929x127.png)
```
n* 匹配任何包含零个或多个 n 的字符串。前导字符有没有都行
n? 匹配任何包含零个或一个 n 的字符串。
n{X} 匹配包含 X 个 n 的序列的字符串。
n{X,Y} 匹配包含 X 到 Y 个 n 的序列的字符串,包括X和Y个
n{X,} 匹配包含至少 X 个 n 的序列的字符串。
```
![](https://img.kancloud.cn/2d/ec/2decd1f1f948e3c66532120cf69b112f_855x261.png)
```
n$ 匹配任何结尾为 n 的字符串。从末尾开始匹配
^n 匹配任何开头为 n 的字符串。(注意位置在前面)
^n$ 表示只匹配字符串n。也就是匹配整个字符串。
```
![](https://img.kancloud.cn/ba/4e/ba4e7951e7a270fead72e7c8138265fa_1017x260.png)
# 2、元字符
```
. 表示单个字符,表示任意字符。除了换行和行结束符。
.* 表示任意字符串(0个或多个任意字符,除了换行和行结束符).是任意一个字符,*表示任意个前导字符。二者组合表示任意字符串
```
![](https://img.kancloud.cn/c5/42/c542a2b258ad2ed7d1cc7042d4d0f9f1_762x157.png)
```
\w 匹配任何数字、字母、下划线。一个\w表示一个字符。
\W 匹配任何非数字、非字母、非下划线。
\d 查找数字。
\D 查找非数字字符。
\s 查找空白字符。
\S 查找非空白字符。
\b 匹配单词边界。(边界字母个数没有限制;\b放前面表示匹配单词前面的边界,\b表示匹配单词后面的边界)
\B 匹配非单词边界。
\n 查找换行符。
\r 查找回车符。
\t 查找制表符。
```
![](https://img.kancloud.cn/14/b2/14b2c2e1fe358558227619b20f051dfe_1057x713.png)
# 3、方括号
> 方括号表示一个范围,也称为字符簇。
```
[abc] 查找方括号之内的任何字符。
[^abc] 查找任何不在方括号之间的字符。(方括号中的^表示取反)
[0-9] 查找任何从 0 至 9 的数字。表示一个字符
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[A-z] 查找任何从大写 A 到小写 z 的字符。包括下划线。
[5-8] 查找5 <= 目标 <= 8的字符
(red|blue|green) 查找任何指定的选项。(竖线|表示或者)
```
![](https://img.kancloud.cn/13/0a/130a04904361ab8c2c15514809da2e56_1044x419.png)
# 4、修饰符
修饰符的用法,是修饰符一定要写到//之后,可以一次性使用多个修饰符。
```
i 执行对大小写不敏感的匹配。实际上就是不区分大小写的匹配
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。
```
![](https://img.kancloud.cn/29/05/2905fb6285d3036db0cf8703e9705acf_891x222.png)
# 5、转义字符\
如果匹配的字符串在正则中有特殊含义的都必须加转义字符。如[]$.*?+|^{}()
但是不要乱加转义。
![](https://img.kancloud.cn/21/16/2116fbaf2ab29786d10bfe8843b2038c_757x140.png)
- 第一天
- 一、学习目标
- 二、关于JavaScript
- 三、JS语法基础
- 四、变量
- 五、常量
- 六、运算符
- 七、数组
- 八、对象
- 九、数据类型
- 第二天
- 一、昨日复习
- 二、今日目标
- 三、数据类型转换
- 四、流程控制
- 五、函数基础
- 六、作用域
- 七、标准库(内置对象)
- 八、总结
- 第三天
- 一、昨日复习
- 二、今日目标
- 三、DOM介绍
- 四、元素(标签)节点查询操作
- 五、元素(标签)节点增删改操作
- 六、设置/获取元素的css样式
- 七、事件和事件对象
- 八、键盘keyCode对照表
- 第四天
- 一、昨日复习
- 二、今日目标
- 三、DOM之属性节点操作
- 四、DOM对象的通用属性
- 五、DOM获取元素的位置
- 六、事件绑定与移除
- 七、事件对象相关属性和方法使用
- 八、案例--可编辑的表格
- 第五天
- 一、今日目标
- 二、执行流程
- 三、定时器
- 四、闭包
- 五、案例
- 第六天
- 一、昨日回顾
- 二、今日目标
- 三、正则表达式概述
- 四、入门案例
- 五、正则语法
- 六、分组/捕获和反向引用
- 七、匹配中文(utf-8编码)
- 八、环视(断言/零宽断言/正向预测/负向预测)
- 九、正则对象的属性和方法
- 十、支持正则表达式的 String 对象的方法
- 十一、案例
- 十二、PHP中的正则表达式
- 第七天
- 一、昨日回顾
- 二、正则案例
- 三、PHP中的正则表达式
- 四、正则练习
- 五、仿淘宝评分小星星
- 六、标签页效果
- 七、横向下拉菜单
- 第八天
- 一、今日目标
- 二、面向对象编程
- 三、定义对象
- 四、对象相关操作
- 五、对象在内存中的存在形式
- 六、原型对象(关键)
- 七、定义对象进阶
- 八、函数进阶
- 第九天
- 一、昨日回顾
- 二、今日目标
- 三、Object
- 四、继承
- 五、this指向总结
- 六、案例(贪吃蛇)
- 第十天
- 一、今日目标
- 二、Ajax概述
- 三、工作原理
- 四、XMLHttpRequest对象介绍
- 五、使用Ajax的步骤
- 六、细节问题
- 七、JSON
- 八、Ajax中,服务器返回json格式的数据
- 九、案例--省市县三级联动
- 第十一天
- 一、昨日回顾
- 二、今日目标
- 三、完成省市县三级联动
- 四、优化省市县三级联动
- 五、服务器返回XML格式的数据
- 六、FormData对象
- 七、跨域请求
- 八、实现跨域请求
- 第十二天
- 一、Ajax回顾
- 二、今日目标
- 三、jQuery概述
- 四、快速入门
- 五、可编辑的表格
- 六、纵向导航菜单
- 七、横向导航菜单
- 八、标签页效果
- 第十三天
- 一、学习目标
- 二、杂项
- 三、jQuery中的事件
- 四、jQuery封装的Ajax
- 五、案例 -- 无刷新的分页
- 第十四天
- 一、昨日回顾
- 二、效果
- 三、跨域请求
- 四、文档操作
- 五、插件编写
- 六、自定义插件
- 七、第三方插件