自然语言处理—基于规则的词法分析—基于正则表达式的词性分析方法

(一)邮箱地址和网址提取

构建正则表达式

预览大图

re模块常见相关函数

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

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值