Python:这个字符串是哪里出错?

a='<td class="td0">(.*?)</td>'

提示出错
SyntaxError: EOL while scanning string literal

a='<td class="td0">(.*?)</td>'
加粗部分涂红报错,感觉应该是很低级的错误,但是无奈修为不足还请大神指点

想用正则表达式匹配出图中的数据,但是好像即使上面这个字符串成功输进去了也匹配不出来,这是为什么?
图片述

匹配的过程如下:
图片描述

阅读 2.9k
3 个回答

这么写 语法是没有错的 你看是不是 结尾有什么其它字符

出这种问题,一般是复制粘贴的锅~

网页里有不可见字符,你复制过来,python认为那个字符是非法的。
你手动重新输入代码即可。

你这个是有多行的,默认的. 是匹配换行符“\n”以外的所有字符, 用re.S改为点任意匹配模式:

re.findall('<td class="td0">(.*?)</td>', html, re.S)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进