美文网首页正则表达式
正则表达式之 中括号专题

正则表达式之 中括号专题

作者: zxiaozhang | 来源:发表于2021-01-05 15:40 被阅读0次

/[xyz]/ 的示意图为

image.jpeg

只要匹配到其中之一就可以,这个东东并不是贪婪模式的,在不开全局匹配的情况下,使用改表达式去匹配 “hhhzxyz” ,会只匹配到一个z,即第一个字母z,开了全局匹配也就是 /xyz/g 会匹配到zxyz 这四个字母。

也就是说一个中括号无论内容多么复杂,都只会匹配出一个字符出来而已!

另外一个需要注意的点就是,中括号其实是一个分支选择结构,任何字符在里面都算作一个分支,也就是说 全部是“或”的关系;

我们来看一个例子

const reg2 = /[asd*?sf]{2,4}/;

const str2 = "can you speak asd?";

console.log(str2.match(reg2)); //["asd?"]

这个匹配出来的结果是 asd? 中间的星号被跳过了?我们还是从原理看问题,匹配权是整个中括号,去匹配第一个字符c ,没有匹配成功,于是右移匹配a,成功,因为后边还有一个大括号限制次数,所以放入临时状态,继续匹配n,失败,所以从临时状态中移除。右移,直到匹配asd全部成功,因为{2,4}这个量词是贪婪的,所以会尽可能多的匹配,于是又一次匹配,后面是个问号,所以满足中括号里面的问号,于是匹配成功,返回结果。 从最后的问号,很明显的看出来中括号的内容都是并列存在的。

相关文章

  • 正则表达式在程序编码中的应用

    正则表达式在程序编码中的应用 正则表达式(括号)、[中括号]、{大括号}的区别小结 正则表达式的() [] {}有...

  • 正则表达式之 中括号专题

    /[xyz]/ 的示意图为 只要匹配到其中之一就可以,这个东东并不是贪婪模式的,在不开全局匹配的情况下,使用改表达...

  • JS-正则表达式

    1 正则表达式之基础 2 正则表达式之选择符 可使用竖线(|)来检测字符串左右任意一侧是否匹配 可使用中括号([]...

  • 正则表达式之 括号专题讲解

    括号这个东东,直接使得正则表达式的能力提高了N个台阶。我们这就来看下括号的魅力。 一、首先是分组作用。将括号内的东...

  • 9.2.7 正则表达式中元字符中的小括号

    9.2.7 正则表达式中元字符中的小括号 test.php

  • 正则表达式

    正则表达式采用贪婪匹配模式以下实例为了匹配字符串booooooooob 括号用于提取字符串: 中括号中的^表示“非...

  • JavaScript 正则表达式 通俗解释

    推荐一个验证正则表达式的网址:https://regexper.com/ 方括号"["内是需要匹配的字符。中括号括...

  • 正则表达式重温整理

    三大基础符号:Bracket括号符号、caret插入符号和Dollars美元符号 在正则表达式中存在三种括号符号:...

  • 正则表达式括号的作用

    来源:正则表达式括号的作用作者:老姚(转载已获得作者授权) 不管哪门语言中都有括号。正则表达式也是一门语言,而括号...

  • shell正则

    1.特殊符号在shell正则中的作用 ^ 匹配正则表达式的开头,或若果在括号中,表示不匹配扩括号内的字符 $ 匹配...

网友评论

    本文标题:正则表达式之 中括号专题

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