js css html

正则表达式--括号

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

\bullet 前言

    在初识位置两节中,已经不止一次的使用过括号了,它不仅能使我们的子表达式独立,也允许我们在外部或表达式内部引用子表达式或结果

\bullet 分支结构

    使用括号可以让分支逻辑更清晰,如下,如果去掉括号,则将以|为分界匹配前半段或后半段

\bullet 分组引用

    分组允许我们在正则中或者匹配结果中获取分组内容

        获取分组结果:

        表达式中引用分组结果:

            使用\1~\n依次按左括号从左到右标识每一个括号的匹配结果,注意

                是匹配结果而不是表达式

                是按括号从左到右出现的次序

        量词

            如果括号后使用了量词,则只会将最后一次匹配值作为结果,如下

\bullet 不使用分组

    默认情况下,括号将自动进行分组,如果单纯的想进行分支,则需要使用(?:)进行标识    

\bullet 示例

    \ast 模拟trim方法

        分析:

            开头和结尾的空格可能不止一个,故需要使用.*来做匹配

            然后对剩余部分作分组后提取即可

            剩余部分需要使用贪婪匹配,因为.对空格也是有效的

        结果:

    \ast 首字母转大写

        分析:

            找到每一个字符的前一个位置

            以此位置为起始点向后匹配一个字符

        结果:

    \ast 驼峰化

        分析:

            当存在分组时,其结果会作为replace参数二的剩余参数传入,故需要跳过特殊符号,如-_\s,将下一位作为分组结果

        结果:

    \ast 逆驼峰化

    \ast 匹配成对标签

        分析:

            使用反向引用获取开标签匹配的内容即可            

        结果:

上一篇下一篇

猜你喜欢

热点阅读