返回信息流学正则的过程中产生的一个小困惑
想用正则表达式匹配这样一行内容:
tcp 0 64 :::22 :::* LISTEN 1063/sshd
并且把其中的22和1063做为两组取出来
正确答案是:
.*:::([0-9]*) .* ([0-9]*)/sshd
如果把中间的两个空格都去掉,变成
.*:::([0-9]*).*([0-9]*)/sshd
那么匹配到的两个子组都是空的,这个我也明白,因为是贪婪匹配嘛
如果把子组里面的*去掉:
.*:::([0-9]).*([0-9])/sshd
则两个子组会匹配出2和3,这个也明白,贪婪匹配
但是如果把子组里面的*换成+
.*:::([0-9]+).*([0-9]+)/sshd
为何就不匹配这行了呢?求牛人解答
这是一条镜像帖。来源:北邮人论坛 / python / #6281同步于 2015/4/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
求解关于正则表达式的一点问题
wuudann
2015/4/14镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。