import re
n, m = map(int, input().split())
# 规则 规则对应的名字 带查询的URL
rules, names, requests = [], [], []
for i in range(n):
r, n = input().split()
names.append(n)
rules.append(r)
for i in range(m):
requests.append(input())
# # 将规则转成正则表达式
for i, rule in enumerate(rules):
rules[i] = re.sub('/<int>',"/(\\d+)",rule)
rules[i] = re.sub('/<str>', "/(\\w+)", rules[i])
rules[i] = re.sub('/<path>', "/([\\w/.]*)", rules[i]) + '$'
# 开始匹配(使用findall无法通过)
for query in requests:
for name, rule in zip(names, rules):
a = re.match(rule, query)
if a:
print(name, end = ' ')
for i in a.groups():
print(int(i) if i.isdigit() else i, end = ' ')
break
else:
print(404, end='')
print()
URL映射
最新推荐文章于 2024-08-04 15:22:29 发布