python正则表达式问题,请帮助解释下面匹配的理由

str1='127.0.0.1192.168.1.66'match=re.findall(pattern,str1)print(match)当pattern=r'[1-9... str1 = '127.0.0.1 192.168.1.66'
match = re.findall(pattern,str1)
print(match)

当pattern = r'[1-9]{1,3}(\.[0-9]{1,3})'
输出结果为['.0', '.168', '.66']

当pattern = r'(\.[0-9]{1,3})'
输出为['.0', '.0', '.1', '.168', '.1', '.66']

当pattern = r'[1-9]{1,3}(\.[0-9]{1,3}){3}'
输出为['.1', '.66']
展开
 我来答
风驰电掣happy
2019-08-02 · TA获得超过136个赞
知道小有建树答主
回答量:226
采纳率:63%
帮助的人:81.4万
展开全部
很简单呀
首先()里的内容就是你要匹配取出来的内容
"里面内容"就是整体匹配的内容
{A_1,A_2}就是大括号前的数字有A_1~A_2个,若果就一个A_1就是A_1个
[1,9]就是1-9之间的数
为什么要\点呢
因为.在正则匹配中代表任意一个字符,\.他才相当于一个.符号
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式