[英]How to search for alphanumeric substring of specific length in Python?
[英]How to search for a pattern which is variable length 8 alphanumeric in python 2.7 from content type HTML/Text (in Gmail)
我是python的新手。 我正在尝试从gmail收件箱中找到一种模式。 能够以html格式而非纯文本格式获取Gmail内容。 另外,我无法识别临时密码的模式(我需要提取该模式)。 密码的长度为8,并且是从@#$ -_!0-9a-zA-Z中随机选择的。密码在span标记中。 这是从gmail中获取的部分内容,该内容位于变量“ body”中:
Helvetica;font-size: 14px;font-weight: normal;text-align: ce=
nter;"> <span style=3D"font-size:28px">orPYG$XV</span><!----></td> </tr> </=
tbody> </table> </td> </tr> </tbody> </table> <!--[if gte mso 9]></td>
我的python代码要提取的部分:
passwordd =re.findall(r'<span style=3D"font-size:28px">+.*</span>', str(body), re.I|re.M)
lookkk = re.findall(r'(?<![A-Za-z0-9]))', str(passwordd))
print(str(lookkk))
哪里:
正文:是我从HTML收件箱以HTML格式获取的电子邮件内容
密码:是创建以从电子邮件文本中提取内容的变量
lookkk:是我正在寻找的最后一个密码,长度为8
密码能够获取包括<span...span>
的密码。 我想排除<span...span>
。 我怎样才能做到这一点? 另外,是否可以从gmail获取纯文本,而不是html形式的文本。 我看了很多论坛,但做不到。
您需要在正则表达式中包含一个捕获组,并用括号将它们声明为:
pswrd = re.findall(r'<span style=3D"font-size:28px">+(.*)</span>', str(body), re.I|re.M)
为了使此更准确,而不是使用.*
捕获所有内容,您还可以进行更精确的搜索,使其与期望的单词完全匹配: [@#$_!0-9a-zA-Z]{8}
,因此仅一个表达式足以找到该单词。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.