博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python自然语言处理——3.7 用正则表达式为文本分词
阅读量:5085 次
发布时间:2019-06-13

本文共 1034 字,大约阅读时间需要 3 分钟。

微信公众号:

本系列为博主的读书学习笔记,如需转载请注明出处。

第三章 加工原料文本

3.7 用正则表达式为文本分词

正则表达式的基础语法

正则表达式作为处理字符串的强大工具,拥有独特的语法和独特的处理引擎。

分词的简单方法

re模块作为python正则表达式的核心模块,对其语法进行介绍

使用re的一般步骤是

1.将正则表达式的字符串形式编译为Pattern实例
2.使用Pattern实例处理文本并获得匹配结果(一个Match实例)
3.使用Match实例获得信息,进行其他的操作。

操作:

import re # 将正则表达式编译成Pattern对象 pattern = re.compile(r'hello.*\!') # 使用Pattern匹配文本,获得匹配结果,无法匹配时将返回None match = pattern.match('hello, lily! How are you?') if match:     # 使用Match获得分组信息     print (match.group())

hello,lily!

re.match(): 从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

import re print(re.match('hello','helloworld').span()) print(re.match('world','helloworld'))

(0,5)

None

re.search():扫描正则字符串,并返回第一个成功的匹配位置

import re print(re.search('hello','helloworld').span()) print(re.search('world','helloworld').span())

(0,5)

(5,10)

re.sub():替换字符串中的匹配项

import re phone = '029-55432907   # 这是一个座机号码' print(re.sub('\d','0',phone))    # 将数字替换为0 print(re.sub('#.*$','',phone))   # 将#以后的所有字符全部替换直到结束位置

000-00000000 # 这是一个座机号码

029-55432907

转载于:https://www.cnblogs.com/ly803744/p/10426403.html

你可能感兴趣的文章
getElement的几中属性介绍
查看>>
HTML列表,表格与媒体元素
查看>>
设计器 和后台代码的转换 快捷键
查看>>
STL容器之vector
查看>>
数据中心虚拟化技术
查看>>
复习文件操作
查看>>
SQL Server 使用作业设置定时任务之一(转载)
查看>>
第二阶段冲刺-01
查看>>
BZOJ1045 HAOI2008 糖果传递
查看>>
JavaScript 克隆数组
查看>>
eggs
查看>>
python3 生成器与迭代器
查看>>
java编写提升性能的代码
查看>>
list 容器 排序函数.xml
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
IOS--沙盒机制
查看>>