正则表达式中的 [] 与 ()

正则表达式中的 [] 与 ()


1. 圆括号 ()

圆括号在正则表达式中表示的概念,主要应用于限制多选结构的范围、分组、捕获文本、环视。

1.1 示例:多选结构

(a|b|c):匹配 ab1c
示例 1.1

1.2 示例:分组

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

1.3 示例:捕获文本

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

1.4 示例:环视

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


2. 方括号 []

方括号在正则表达式中用于单个匹配,可用于字符集、排除字符集之中。

2.1 示例:字符集

[0-9]:表示此位置上的字符只能是 09 这十个数字

圆括号可以匹配多个连续的字符,而一对方括号只能匹配单个字符
示例 2.1

2.2 示例:排除字符集

[^0-3]:表示此位置上的字符不可以是 03
示例 2.2


3. 对比

  • () 的内容表示一个子表达式() 本身不匹配任何字符,也不限制匹配任何字符,只是把括号内的内容作为同一个表达式来处理
    • (ab){1,3}:表示 ab 一起连续出现最少 1 次,最多 3 次
  • [] 表示匹配的字符在 [],并且只能出现一次,并且特殊字符写在 [] 会被当成普通字符来匹配
    • [(a)]:匹配 (a)这三个字符
  • 14
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值