首页 > 其他分享 >pandas笔记(三)-- 查找有效邮箱的用户(正则表达式应用)

pandas笔记(三)-- 查找有效邮箱的用户(正则表达式应用)

时间:2024-03-08 10:22:05浏览次数:19  
标签:前缀 -- zA leetcode 正则表达式 邮箱 com pandas

题目描述

一个有效的电子邮件具有前缀名称和域,其中:

  1. 前缀 名称是一个字符串,可以包含字母(大写或小写), 数字, '_', '.', 和破折号'—', 前缀名必须以字母开头
  2. 域名'@leetcode.com'

编写一个解决方案,以查找具有有效电子邮件的用户, 以任何顺序返回结果表。

测试用例

输入

user_id name mail
1 Winston [email protected]
2 Jonathan jonathanisgreat
3 Annabelle [email protected]
4 Sally [email protected]
5 Marwan quarz#[email protected]
6 David [email protected]
7 Shapiro [email protected]

输出

user_id name mail
1 Winston [email protected]
3 Annabelle [email protected]
4 Sally [email protected]

解析

本题的核心在于确定有效表达式的匹配规则, 并写出相应的正则表达式。值得一提的是,在pandas库中自带match()方法支持正则表达式匹配, 无需import re

正则表达式由三部分组成,即前缀、主题和域名

  • 前缀以字母开头, 即 ^[a-zA-Z]
  • 主体可以包含字母, 数字, '_', '.', '—', 即[a-zA-Z0-9_.—]
  • 域名为leetcode@\.com$, \.需要使用反斜杠转义, 在python3.7及以上版本中@无需转义

代码如下:

import pandas as pd

def valid_emails(users: pd.DataFrame) -> pd.DataFrame:
    mails = users[users["mail"].str.match(r"^[a-zA-Z][a-zA-Z0-9_.-]*@leetcode\.com$")]
    return mails

在表达式前应加r表示只读,防止某些字符被转义
此外,Dataframe中的字符型数据以varchar存储,处理时应先转换为str实例

标签:前缀,--,zA,leetcode,正则表达式,邮箱,com,pandas
From: https://www.cnblogs.com/KevinScott0582/p/18060332

相关文章

  • 使用go语言开发自动化API测试工具
    前言上一篇文章说到我还开发了一个独立的自动测试工具,可以根据OpenAPI的文档来测试,并且在测试完成后输出测试报告,报告内容包括每个接口是否测试通过和响应时间等。这个工具我使用了go语言开发,主要是考虑到了go语言可以傻瓜式的实现交叉编译,生成的可执行文件直接上传到服务......
  • 自动挂载
    编写自动挂载[root@localhost~]#vim/etc/fstab--------------------自动挂载在/etc/fstab下##/etc/fstab#CreatedbyanacondaonTueJan2301:03:582024##Accessiblefilesystems,byreference,aremaintainedunder'/dev/disk'#Seemanpagesfstab(5),......
  • Java实现文件断点续传
    文件断点续传代码importjava.io.File;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStream;importjava.io.RandomAccessFile;importjava.net.HttpURLConnection;importjava.net.MalformedURLException;importjava.net.URL;......
  • 统一身份认证系统 OpenLDAP 完整部署
    0)LDAP介绍LDAP是什么?在那些地方用会用到LDAP?LDAP英文名称:LightweightDirectoryAccessProtocol轻型目录访问协议。常用在单点登录,用户可以通过一个用户和密码登录多个服务,方便管理。目前我们使用的一下工具,Jenkins,GitLab,Jumpserver,Grafana,Confluence,NextCloud等等,很多开......
  • 最新堆叠查询注入攻击和注入代码分析技术
    堆叠查询注入攻击堆叠查询注入攻击的测试地址在本书第2章。堆叠查询可以执行多条语句,多语句之间以分号隔开。堆叠查询注入就是利用这个特点,在第二个SQL语句中构造自己要执行的语句。首先访问id=1',页面返回MySQL错误,再访问id=1'%23,页面返回正常结果。这里可以使用Boolean注入、时......
  • 找工作学习第十天
    /deep/是防止inner中的嵌套元素不生效tag组件,打开多个页面,方便跳转,删除,就像浏览器标签 colsable表示是否有删除标记判断一下是不是home因为主页不管怎么样都是不需要删除的 tag数据很明显和顶部面包屑数据相同因此使用mapstate方法获取store中的state数据computed:{......
  • 文心一言 VS 讯飞星火 VS chatgpt (210)-- 算法导论16.1 1题
    一、根据递归式(16.2)为活动选择问题设计一个动态规划算法。算法应该按前文定义计算最大兼容活动集的大小c[i,j]并生成最大集本身。假定输入的活动已按公式(16.1)排好序。比较你的算法和GREEDY-ACTIVITY-SELECTOR的运行时间。如何要写代码,请用go语言。文心一言:活动选择问题是一......
  • 中转Webshell绕过流量检测防护
    0x01原理这里先给大家介绍一句话木马和菜刀的工作原理,了解的可以往下面翻一句话木马先说说一句话木马的原理<?phpeval($_POST['c']);?>先说说eval()这个函数简单点说,eval()这个函数会把参数当作代码来执行什么叫做把参数当作代码来执行,简单举个例子<?phpphpinfo();?>......
  • 点亮城市名片丨计讯物联智慧灯杆系统在通讯基地的成功应用
    项目背景在国家新型城镇化大背景下,十四五规划纲要强调“加快数字化发展,建设数字中国”,明确提出“以数字化助推城乡发展和治理模式创新”,全面提高城市的运行效率和宜居程度。  项目概况为满足灯杆灯光亮度的远程智能管理、对灯杆周遭的数据信息的采集、平台人员的信息发布......
  • 逆向实战33——某东登录参数与流程分析(包含滑块)
    声明本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!目标网站aHR0cHM6Ly9wYXNzcG9ydC5qZC5jb20vbmV3L2xvZ2luLmFzcHg/UmV0dXJuVXJsPWh0dHBzJTNBJTJGJTJGd3d3L......