正则表达式的模式匹配
模式:规则
匹配:作比较 / 查找
正则表达式都是操作字符串的
什么是正则表达式
- 普通字符(例如26个英文字母,数字等)
- 特殊字符(有特殊含义的,例如\ . 等)
第一次接触

创建正则表达式
- 字面量或者直接量来创建
- 通过构造函数创建
正则表达式的模式修饰符
- i ignoreCase — 表示忽略大小写
- g global — 表示全局匹配
- m multiline — 表示对行匹配
项目:正则表达式测试工具
语雀内容
常用的正则表达式
1. QQ号的正则表达式验证

2. 昵称

3. 密码

4. 去除字符串首位的空白字符


封装成函数

5. 转驼峰


6.匹配HTML标签

7.姓名

8.身份证

9.邮箱

10.电话号码

正则表达式得总结:
1、查找特定字符串:exec()  test()  match()  search()
2、替换文本:replace
3、数据有效性验证  QQ html标签  昵称  密码
4、创建正则表达式有2种方式:
(1)      字面量方式   /js/igm
(2)      构造函数方式  new RegExp(‘js’,’igm’);   —  new RegExp(变量,’igm’);
5、模式修饰符:g  —   全局匹配
(1)      Exec  
(2)      Match  
(3)      Replace 
(4)      Test  search   split:加不加g全局搜索都没有区别
6、M  —  多行匹配
(1)      1.js   2.js   3.js   —   全局匹配   —  匹配定位使用^$
7、转义字符
(1)      \n  换行符
(2)      \t  制表符
(3)      \xnn  十六进制
(4)      \uxxxx  unicode   汉字  \u4e00 -\u9fa5
8、[…]  和  [^…] 任意一个字符
9、.  除换行符之外得任意一个字符
10、\w  \W [a-z][A-Z] 任意字母和数字以及下划线组成的字符
11、\d  \D [0-9][^0-9] 任意一个数字和不是数字
12、\s  \S    任意Unicode空白符 (空格 tab键位 制表符 换行符)
13、重复(量词) —  {n,m}  —    n <=x<=m
(1)      ?  {0,1}  有可能一次  最多匹配一次
(2)      +   {1,}  至少大于等于1  最少是一个  往多了去匹配
(3)         {0,}  有可能匹配有可能没有
14、非贪婪模式
(1)      {n,m}?
(2)      {n,}?
(3)      {n}?
(4)      ??
(5)      +?
(6)      ?    非贪婪模式后面加上问号
15、选择和分组和引用
(1)      | 或
(2)      (…) 括号分组
(3)      (?:….)  表示非捕获状态
(4)      \n(n:1/2/3)  表示第几个分组  类似复制粘贴
16、捕获到的内容
1.exec返回得数组
2./\1/  \1==> 表示第一个分组
3.Replace/RegExp  $1
17、指定匹配位置
(1)      ^  以什么什么为开头
(2)      $  以什么什么为结尾
(3)      \b  单词边缘的检测
(4)      (?=p)前瞻性  (?!p)负向前瞻性
(5)      前瞻性(?=以后面填写的内容来寻找  跟着所天的内容就会被找到  如果没有跟着就会返回null)  
(6)      负向前瞻性(?!以后面填写的内容来寻找  只要不是跟着填写的内容就会被找到)
18、Test  — exec   —  toString() —  toLocaleString()  — valueOf()
19、实例属性 —  global ignoreCase  multiline  source lastIndex
20、RegExp构造函数属性 — input  lastMatch  lastParen  leftContext    rightContext  
21、String对象和正则表达式相关得方法—  search  match split  replace
 
 
                         
                                

