正则表达式--JSAPIS

2022-11-06  本文已影响0人  习惯水文的前端苏

\bullet 前言

    经过前边初识位置括号这三节的学习,应该说已经把正则语法学的七七八八了,但如果想要在JavaScript中用起来,还是需要对相关的API有所了解的

\bullet APIS简介

    \ast search

        该api用于查找符合模式的起始位置,如果找不到,则返回-1

    \ast match

        相比较search而言,match获取的信息更全些,如果匹配不到则返回null

    \ast exec

        和match几乎是一样的,只不过一个部署在String一个部署在Regex上

    \ast test

        专注于校验,返回true或false

    \ast split

        根据指定的正则进行拆分,将以任何符合匹配的字符作为拆分点

    \ast replace

        会根据匹配进行替换,不过默认只能替换一次,需要增加g参数匹配替换全部

\bullet APIS进阶

    上一部分,已经对JavaScript种的正则相关的api做了简单了解,接下来对部分api做详细的拆分学习

    \ast 隐式转换

        search和match会将其参数作为正则看待,即使你的初衷不是这样的,如下,以search为例,由于.是正则语法,代表任意字符,故匹配一结果为0,即首位2的索引

    \ast 修饰符g的影响

        \alpha match的表达式使用了g修饰后,返回的结果将被格式化为结果数组,匹配不到则均为null

        \beta exec和test的表达式使用了g修饰符后,会将每次的匹配结果记录于lastIndex并作为下一次调用的起始位置,以test为例,最后一次将返回false(基于该特性,与while循环配合则能做到按步匹配)

    \ast 严格校验

        前一部分,我们提到说,test专注与校验,但那是存在性校验,有就行

        如果想要切换为严格校验,则需要添加^+$

    \ast split的参数二

        split可以指定参数二对结果数组进行省略

    \ast replace的参数二

        参数二为字符时,可以引用以下特殊字符作变量替换,常用作位置调换操作

        为函数时,则接收的参数依次为:$&、$1....$99、索引位置、文本本身

    \ast 构造函数属性

        RegExp["$_"]:最近一次目标字符串

        RegExp["$&"]:最近一次匹配的文本

        RegExp["$+"]:最近一次捕获的文本

        RegExp["$`"]:目标字符串中RegExp["$&"]之前的文本

        RegExp["$'"]:目标字符串中RegExp["$&"]之后的文本

    \ast 正则实例属性

        其中比较有用的是lastIndex和source,前者可以配合while循环进行按步匹配,后者则可以用于查看使用构造函数构造的结果是否符合预期

上一篇下一篇

猜你喜欢

热点阅读