正则表达式中的 [] 与 ()
1. 圆括号 ()
圆括号在正则表达式中表示组的概念,主要应用于限制多选结构的范围、分组、捕获文本、环视。
1.1 示例:多选结构
(a|b|c):匹配 a 或 b1 或 c

1.2 示例:分组
(abc)?:匹配 abc 一次或者零次

1.3 示例:捕获文本
(aaa)(bbb)(ccc)(?:ddd)(eee):可以用 $1 获取 (aaa) 匹配到的内容,用 $3 则获取到了 (ccc) 匹配到的内容,而 $4 则获取的是由 (eee) 匹配到的内容

1.4 示例:环视
a(?=bbbbb):顺序环视,表示 a 后面必须紧跟 5 个连续的 b

2. 方括号 []
方括号在正则表达式中用于单个匹配,可用于字符集、排除字符集之中。
2.1 示例:字符集
[0-9]:表示此位置上的字符只能是 0 到 9 这十个数字
圆括号可以匹配多个连续的字符,而一对方括号只能匹配单个字符
2.2 示例:排除字符集
[^0-3]:表示此位置上的字符不可以是 0 到 3

3. 对比
()的内容表示一个子表达式,()本身不匹配任何字符,也不限制匹配任何字符,只是把括号内的内容作为同一个表达式来处理- 例
(ab){1,3}:表示ab一起连续出现最少 1 次,最多 3 次
- 例
[]表示匹配的字符在[]中,并且只能出现一次,并且特殊字符写在[]会被当成普通字符来匹配- 例
[(a)]:匹配(、a、)这三个字符
- 例
本文详细讲解了正则表达式中圆括号()的分组、捕获和环视功能,以及方括号[]的字符集和排除字符集应用。理解这两种符号在匹配规则中的区别和用法是提升正则表达式技能的关键。


3365

被折叠的 条评论
为什么被折叠?



