Discuss / Python / 这个正则不知道错在哪里?

这个正则不知道错在哪里?

结果只能匹配到 C2那里,不知道那里错了,希望大神帮忙指点下

a = re.compile('http\:\/\/baike.baidu.com\/item\/(%[A-Z0-9])\/[0-9]*')

print(a.match('http://baike.baidu.com/item/%E7%91%9E%E5%AE%89%C2%B7%E9%9B%B7%E8%AF%BA%E5%85%B9/4042591'))

<_sre.SRE_Match object; span=(0, 87), match='http://baike.baidu.com/item/%E7%91%9E%E5%AE%89%C2>

灰_手

#2 Created at ... [Delete] [Delete and Lock User]

字符串太长被截断了,用.group()可以显示完整的字符串

建议用r来减少转换符\可以更直观

a = re.compile(r'^http://baike.baidu.com/item/[%\w{2}]+/\d+')

print(a.match('http://baike.baidu.com/item/%E7%91%9E%E5%AE%89%C2%B7%E9%9B%B7%E8%AF%BA%E5%85%B9/4042591').group()

http://baike.baidu.com/item/%E7%91%9E%E5%AE%89%C2%B7%E9%9B%B7%E8%AF%BA%E5%85%B9/4042591


  • 1

Reply