目前在学正则表达式,遇到分支条件这块,实在不是很明白。
请各位帮忙指点下。
举例:
匹配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个结果啊?分支的第一部分不是已经匹配到结果了么,那么就不应该用分支的第二部分去匹配啦。
讲了越详细越好。。