那就贴你的代码出来看看,估计没有用raw
[quote=引用 5 楼 zhao708981169 的回复:] [quote=引用 1 楼 Vegertar 的回复:] 不匹配只是因为原始串用的是全角括号
[quote=引用 1 楼 Vegertar 的回复:] 不匹配只是因为原始串用的是全角括号
不匹配只是因为原始串用的是全角括号
>>> m = re.search(r"(?P<first_name>\w+) (?P<last_name>\w+)", "Malcolm Reynolds") >>> m.group('first_name') 'Malcolm' >>> m.group('last_name') 'Reynolds' >>> m.groupdict() {'first_name': 'Malcolm', 'last_name': 'Reynolds'}
你看看手册吧 re.search的结果要用group/groups/groupdict提取的,直接赋值就是None,不管有没匹配 一两句说不明白,你认真看看手册的例子 或者改成findall,但findall的话返回没有key的,只按顺序组成元祖 另外要写成 re.search(r'<title>…… 这样的raw方式 不然那些\s \t之类都被转义了,不是原来的正则了
注意编码也要一致,譬如你的脚本是gbk的,网页utf-8,那中文打死也匹配不上...
37,743
社区成员
34,212
社区内容
加载中
试试用AI创作助手写篇文章吧