CCF-CSP 201803-3-URL映射 (Python) 正则表达式 满分实现

这篇博客详细介绍了如何使用Python的正则表达式解决CCF CSP 201803-3中的URL映射问题。文章首先阐述了问题背景,然后讲解了解题思路,主要步骤包括将URL映射规则转化为正则表达式模式,并通过匹配实现URL处理。在附录部分,博主探讨了正则表达式的原始字符与普通文字量的区别,常用正则表达式构造及方法。
摘要由CSDN通过智能技术生成

201803-3-URL映射

问题

image-20230309132515683

image-20230309131723490

image-20230309132324562

思路

文本处理题:使用re正则匹配

步骤:

  1. 将每条URL映射规则转换为,(正则表达式模式,名字,输出参数列表res),存入pts列表
    • 通过str(int(res[i])),实现去掉前导零
  2. 将每条URL去与pts列表匹配

实现

# 导入正则表达式模块
import re

# n:URL映射规则条数,m:待处理URL地址个数
n, m = map(int, input().split())

# 正则表达式模式,用于替换URL映射规则中的<str>、<int>、<path>标记
pat = re.compile(r'<int>|<str>|<path>')

# 存储每个URL映射规则的正则表达式模式、名称以及<int>标记个数的列表
pts = [] # exp[(re.compile('^/articles/([0-9]+)/([0-9]+)/([^/]+)/$'), 'article_detail', [0, 1]), ]
# 将n条规则转换为 pts
for i in range(n): 
  # pt:URL匹配规则,name:URL匹配名字
  pt, name = input().strip().split(' ') 

  # 获取<int>标记个数的列表
  int_mark 
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RessMatthew

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值