美文网首页
前端零基础课程--第十四节课(正则表达式)

前端零基础课程--第十四节课(正则表达式)

作者: 沉默紀哖呮肯伱酔 | 来源:发表于2020-05-19 09:33 被阅读0次

     正则表达式的模式匹配

    1、正则表达式(Regular Expression -RegExp)是一个描述字符模式的对象,JS中的RegExp类表示正则表达式,可以进行模式匹配和文本检索以及替换等功能,如表单验证、页面输出格式化等等

    2、创建正则表达式RegExp对象

            直接量语法:/hello/ig

        关键字:new RegExp('hello','ig')

    3、RegExp的属性

        global(只读):判断是否具有g修饰符(全局)

        ignoreCase(只读):是否具有i修饰符(忽略大小写)

        multiline(只读):多行

        lastIndex:上次匹配索引

        source(只读):正则所使用文本,

        $1...$9:(全局属性)代表之前匹配得到的文本

    4、RegExp方法

        test(str):检测str是否匹配相关的正则表达式,返回布尔值

        exec(str):检索str是否匹配相关的正则表达式,返回找到的值,并确定其位置;影响lastIndex的值

        compile():编译正则表达式,将pattern转换为内部的格式,加快执行速度

    和正则配合使用的字符串方法

    1、替换字符串replace(substr/regexp,replaceStr)

        原始字符串内容不会改变

    2、匹配:match(substr/regexp)

        可在字符串内检索指定的值,或找到一个或多个与正则表达式匹配的子串

        若无匹配返回null

        若有匹配返回数组,当仅有一个匹配项,第一项为匹配子串,索引'index'指出匹配的位置,索引'input'指出要检测的字符串;若有多项匹配则数组由所有匹配项组成

    3、查找:search(str/regexp)

        返回第一个匹配子串的起始位置

        此方法不支持全局匹配,将忽略标识符g

    4、定义正则表达式

        a、普通字符 \ipod\

        b、需要使用转义符的字符: . \/ * ? + [ ( ] ) { } ^ $ | /\.\?\*/

        c、匹配字符集

            [abc] 匹配指定集合内任一个字符:/[abc123]/

            [^abc] 匹配不再指定集合内的任意字符

            [0-9] 指定范围,匹配数字

            [a-z] 匹配小写字母

            [A-Z] 匹配大写字母

            [A-z] 匹配大写A到小写z之间所有字符:A-Z[\]^_`a-z

        d、预定义字符集

              \d 匹配一个数字:/\d/ 等价于/[0-9]/

              \D 匹配一个非数字:/\D/等价于/[^0-9]/

              \w匹配一个数字/字母/下划线 等价于/[A-Za-z0-9_]/

              \W匹配一个非数字/字母/下划线 等价于

             /[^A-Za-z0-9_]/

              \s 匹配一个空白字符(space),/\s/等价于/[ \n\r\t\v\f]/

              \S 匹配一个非空白符/\S/等价于/[^\n\r\t\v\f]/

              . 匹配除了回车和换行外的任何单个字符,/./等价于/[^\n\r]/

        e、数量词

            n? 匹配零次或一次字符n

            n*:匹配零次或多次字符n >=0次

            n+:匹配一次货多次字符n >=1次

            n{x}:匹配字符n出现x次

            n{x,y}:匹配字符n出现x到y次

            n{x,}:匹配字符n出现>=x次

        f、选择和分组

            exp1|exp2 使用|进行条件选择/ex|Ex|post|Post/

            (exp1)使用()指定分组---自表达式

        g、指定匹配位置

            ^ 匹配字符串开头 /^a/

            $ 匹配字符串的结尾

            \b匹配单词边界

             \B:匹配非单词边界

            ?=x 正向前瞻,匹配其后紧接着x的字符串

            ?!=x 后面不能有x

    相关文章

      网友评论

          本文标题:前端零基础课程--第十四节课(正则表达式)

          本文链接:https://www.haomeiwen.com/subject/wprpohtx.html