NLP学习——正则表达式re

import re
#正则表达式的函数
#re.match(pattern,string,flags),
#pattern:正则表达式,匹配成功返回一个match,否则返回一个None,string表示需要匹配的字符串,
#flags:标志位,用于控制匹配模式,flags=0表示不进行特殊指定,不区分字母大小写
#该方法从开头开始匹配,如果开头匹配不成功,则整个匹配失败

text1='自然语言处理\
        语言处理aaa'
text1=text1.strip()#去除字符串前后的空格和制表符
#text2=text1.split()
print(re.match('语言处理',text1))
print(re.match('自然',text1))

#re.search(),与上一个不同的是不用从开头匹配,在整个字符串里找匹配
print('正则匹配结果是:',re.search('语言',text1))
#匹配结果span=(2, 4)表示从[2,4)为匹配结果

#re.findall()返回的是所有匹配结果,返回形式是一个列表,匹配失败时返回一个空列表
#re.sub(pattern,repl,string)如果字符串string包含了pattern,则用repl替换

#正则表达式的元字符
#.表示匹配除换行符\n外的所有其他字符
print(re.findall('自.语',text1))
#[]表示匹配多个字符
print(re.findall('[自言]',text1))
print(re.findall('[\u4e00-\u9fa5]',text1))

#|对两个正则进行或操作
text1='自然语言处理\语言处理aaa'
text2=text1.split('\\')

print(text2)
for i in text2:
    if len(re.findall('自|然',i)):#列表的长度不为0被认作True值
        print(re.findall('自|然',i))

#^表示匹配字符串起始位置的内容
    print(re.findall('^处',i))   #匹配以自开头的内容
    print(re.findall('^自',i))
    print(re.findall('^语',i))

#$匹配字符串结束位置的内容
    if len(re.findall('理$',i)):
        print(i)

#?  前面的元素可选,并且最多匹配一次
#*  前面的元素会被匹配零次或多次
#+  前面的元素会被匹配一次或多次
#{n}    前面的元素会被匹配n次
#{n,}   前面的元素至少匹配n次
#{n,m}  前面的元素至少匹配n次,最多匹配m次
#\\转义

1ffd7bd12ac44b62ab0744ac11e98ecb.jpg

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值