美丽的汤正则表达式

Obi*_*bie 7 python regex beautifulsoup

我只是在Python中运行以下代码,将所有特定电子邮件从IMAP文件夹中删除.提取部分工作正常,BeautifulSoup部分工作正常,但输出中有很多'\ r'和'\n'.

我试图用REGEX子功能删除这些,但它不工作...甚至没有给出错误信息.知道什么是错的吗?我附上代码...请注意(这不是完整的代码,但我发布的代码上面的所有内容都可以正常工作.它仍然打印输出,它是"美化",但\ r和\n仍然存在.尝试过find_all(),但这也不起作用.

mail.list()  # Lists all labels in GMail
mail.select('INBOX/Personal')  # Connected to inbox.

resp, items = mail.search(None, '(SEEN)')

items = items[0].split()  # getting the mails id        
for emailid in items:
    # getting the mail content
    resp, data = mail.fetch(emailid, '(UID BODY[TEXT])')
    text = str(data[0])  # [1] don't forget to add this back
    soup = bs(text, 'html.parser')
    soup = soup.prettify()
    soup = re.sub('\\r\\n', '', soup)

print(soup)
Run Code Online (Sandbox Code Playgroud)

Mas*_*Yab 4

您可以将其用于一行正则表达式语句:

soup = re.sub('\\r*n*', '', soup)
Run Code Online (Sandbox Code Playgroud)

或者你可以使用这个:

soup = re.sub('\\r', '', soup)
soup = re.sub('\\n', '', soup)
Run Code Online (Sandbox Code Playgroud)

https://regexr.com/3nnp1