正则表达式--分支条件

目前在学正则表达式,遇到分支条件这块,实在不是很明白。

请各位帮忙指点下。

 

举例:

匹配IP地址的表达式:((25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]?\d?\d)

示例地址是:251.231.10.253。

匹配结果是4个:a) 251.231.10.253    b)10. (注意这个结果有个点)    c)10     d)253

疑惑:为什么会有4个值?分支条件不是从左往右匹配么,如果第一个匹配成功了,后面就不应该匹配了啊。那么为什么会是这4个结果呢?

 

另外一个例子:

正则表达式:\w+-\d{4}-\d{2}-\d{2}|\w+-\d{4}

匹配对象:Ggicci-1991-11-10 and Tengery-1991

匹配结果:a) Ggicci-1991-11-10     b) Tengery-1991

疑惑:为什么会有2个结果啊?分支的第一部分不是已经匹配到结果了么,那么就不应该用分支的第二部分去匹配啦。

讲了越详细越好。。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值