js 正则: `^(ab|a)$` 与 `^[ab|a]$` 匹配的值不同

(ab|a)[ab|a](a|b)[a|b]基本是等价的。(完全不等价,一时脑抽)
但是为何:^(ab|a)$与^[ab|a]$匹配的值不同?
^(ab|a)$匹配ab或a
^[ab|a]$匹配a或b
繁星淼淼
浏览 651回答 2
2回答

哔哔one

[]和()是不一样的,在[]里面元字符将失去原本特殊的含义,变成只是字符本身,所以[a|b]是可以匹配里面三个字符中的任意一个,而(a|b)是匹配a或者b并作为一个分组。说的不对的也请大家纠正
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript