课程介绍:
    1、正则表达式的模式匹配
    2、模式:规则
    3、匹配:作比较 — 字符串
    4、通俗的话:正则表达式都是操作字符串的;

    课程主打;
    1、简单了解正则表达式
    2、深入讲解如何使用
    3、常用的正则表达式

    什么是正则表达式: — 由以下两种字符组成的文字模式
    1、普通字符(例如26个英文字母 数字)
    2、特殊字符(有特殊含义 例如\ . /)
    3、可以作为一个模板,将某个字符和所搜索的字符串进行匹配


    使用正则表达式;
    1、查找
    2、替换
    3、进行数据有效性验证


    如何创建正则表达式? — 2种
    1、字面量或者直接量创建
    2、构造函数方式创建
    3、类似之前的知识:
    (1) [] {}
    (2) New Array() new Object()


    正则表达式匹配由2个方法:
    1、test() 表示测试的意思 — 布尔值
    2、Exec() 表示执行 — 数组


    正则表达式种的模式修饰符 — 模式修饰符是写在外面的
    1、i ignoreCase 表示忽略大小写
    2、g global 表示全局匹配的意思
    3、m multiline 表示行匹配




    开源中国提供的正则表达式测试工具
    https://tool.oschina.net/regex


    编写正则表达式测试工具首页;
    Html+css+JavaScript;


    分析:
    1、当我们点击测试匹配的按钮的时候,我们应该获取到待匹配的文本值,获得这个正则表达式,然后通过获得的这个正则表达式的字符串来生成我们的正则模式,再用这个模式去匹配文本
    2、匹配结果输出到结果文本域中
    3、先忽略三个复选框 — 模式修饰符
    4、综上: — 所有的一切都发生测试匹配按钮身上;


    5、阶段总结:
    6、简单的了解了正则表达式
    7、正则表达式测试工具

    正则表达式的深入理解;
    1、转义字符
    2、特殊字符
    3、重复
    4、贪婪模式
    5、非贪婪模式
    6、以上案例看演示代码;


    正则表达式的选择,分组和引用

    定位匹配; ^ $

    位置匹配之单词边界匹配

    前瞻性匹配和负向前瞻性匹配



    下面学习RegExp对象;
    JavaScript正则表达式 -- 课件 - 图1
    原理:
    前三个找到正常输出,再往下找输出null
    再继续找的话,将整个查找的lastindex重置为0;
    所以会重头开始继续查找 —— exec方法的执行原理

    除了test exec方法之外 还有一些继承过来的方法


    JavaScript正则表达式 -- 课件 - 图2






    案例演示:String和正则表达式相关的方法 —- search match split
    JavaScript正则表达式 -- 课件 - 图3


    JavaScript正则表达式 -- 课件 - 图4


    常用得正则表达式;
    1、qq号 昵称 密码
    JavaScript正则表达式 -- 课件 - 图5

    1. 昵称

    JavaScript正则表达式 -- 课件 - 图6

    1. 密码

    JavaScript正则表达式 -- 课件 - 图7
    4.去除字符串首尾的空白字符
    JavaScript正则表达式 -- 课件 - 图8
    JavaScript正则表达式 -- 课件 - 图9
    封装成函数
    JavaScript正则表达式 -- 课件 - 图10
    5.转驼峰
    JavaScript正则表达式 -- 课件 - 图11
    JavaScript正则表达式 -- 课件 - 图12
    6.匹配HTML标签
    JavaScript正则表达式 -- 课件 - 图13
    JavaScript正则表达式 -- 课件 - 图14

    正则表达式得总结
    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:没区别
    6、M — 多行匹配
    (1) 1.js 2.js 3.js — 全局匹配 — 使用^$
    7、转义字符
    (1) \n 换行符
    (2) \t 制表符
    (3) \xnn 十六进制
    (4) \uxxxx unicode
    8、[…] 和 [^…]
    9、. 除换行符之外得任意一个字符
    10、\w \W
    11、\d \D
    12、\s \S
    13、重复(量词) — {n,m} — n <=x<=m
    (1) ?
    (2) +
    (3)
    14、非贪婪模式
    (1) {n,m}?
    (2)
    ?
    15、选择和分组和引用
    (1) |
    (2) (…)
    (3) (?:….)
    (4) \n(n:1/2/3)
    16、exec返回得数组
    17、/\1/
    18、Replace/RegExp $1
    19、指定匹配位置
    (1) ^
    (2) $
    (3) \b
    (4) (?=p) (?!p)
    20、Test — exec — toString() — toLocaleString() — valueOf()
    21、实例属性 — global ignoreCase multiline source lastIndex
    22、RegExp构造函数属性 — input lastMatch lastParen leftContext rightContext
    23、String对象和正则表达式相关得方法 — search match split replace

    正则表达式方法汇总
    https://www.w3school.com.cn/jsref/jsref_obj_regexp.asp