美文网首页js css html
正则表达式--括号

正则表达式--括号

作者: 习惯水文的前端苏 | 来源:发表于2022-08-03 15:39 被阅读0次

    \bullet 前言

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

    \bullet 分支结构

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

    \bullet 分组引用

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

            获取分组结果:

            表达式中引用分组结果:

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

                    是匹配结果而不是表达式

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

            量词

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

    \bullet 不使用分组

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

    \bullet 示例

        \ast 模拟trim方法

            分析:

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

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

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

            结果:

        \ast 首字母转大写

            分析:

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

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

            结果:

        \ast 驼峰化

            分析:

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

            结果:

        \ast 逆驼峰化

        \ast 匹配成对标签

            分析:

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

            结果:

    相关文章

      网友评论

        本文标题:正则表达式--括号

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