FTP地址Python正则解析

本文介绍了使用Python正则表达式解析FTP地址的过程,强调了代码可读性和正则表达式的使用技巧。详细解析了FTP_RE和CREDS_RE的匹配规则,解释了非捕获匹配、组匹配的概念,并提供了相关知识点链接。通过示例展示了匹配结果。
摘要由CSDN通过智能技术生成

 今天看到以下这段代码:

import re

_USER_RE = r'''(?P<user>[^:@]+|'[^']+'|"[^"]+")'''
_PASSWORD_RE = r'''(?P<password>[^@]+|'[^']+'|"[^"]+")'''
_CREDS_RE = r'{}(?::{})?'.format(_USER_RE, _PASSWORD_RE)
FTP_RE = re.compile(r'^ftp://(?:{}@)?(?P<abs_path>.*)$'.format(_CREDS_RE))

source = 'ftp://anonymous:guest@ftp.ncbi.nlm.nih.gov/codepackage'
m = FTP_RE.search(source)
user = m.group('user') or 'anonymous'
password = m.group('password') or 'guest'
server, path_dir = m.group('abs_path').split('/', 1)

觉得有几点很不错:

1、把每个关键信息的提取分开写,提高代码的可读性

2、过程中用到的一些表达式我还不清楚,需要深入了解,比如 ?:: 什么意思?

3、遵守很好的代码规范

接下来我尝试解释一下匹配过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值