re.search()在一个字符串中搜索正则表达式的第一个位置,返回match对象
re.match()从一个字符串的开始位置起匹配正则表达式,返回match对象
re.findall()搜索字符串,以列表类型返回全部能匹配的子串
re.split()将一个字符串按照正则表达式匹配结果进行分割,返回列表类型
re.finditer()搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象
re.sub()在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串
举例说明:
邮箱地址提取:
输入:
请使用我的邮箱:nlp@nudt.com,发邮件给:educoder@edu.net
import re string =input() email=re.findall(r"[a-z0-9.-+_]+@[a-z0-9.-+_]+.[a-z]+", string) print("提取邮箱地址如下:") for i in range(len(email)): print(email[i])
输出结果:
提取邮箱地址如下: nlp@nudt.com educoder@edu.net网址提取:
输入:
please click https://www.educoder.net
import re string =input() urls=re.findall(r"(http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*,]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)|([a-zA-Z]+.w+.+[a-zA-Z0-9/_]+)",string) print("提取网址如下:") urls=list(sum(urls,())) for i in range(len(urls)): print(urls[i])
输出结果:
提取网址如下: https://www.educoder.net(二)密码提取
输入:
密码是:NUDT_NLP2021
import re string =input() print("提取密码是") p=re.compile('[a-z]|[A-Z]|_|d') t=re.findall(p,string) if t: for i in t: print(i,end="")
输出结果:
提取密码是 NUDT_NLP2021