python re —— 自然语言处理与正则表达式
- *:0 或 多个
- ?:任意一个
- [list]:a[xyz]b,a 与 b 之间必须也只能有一个字符,但只能是 x/y/z,也即:axb, ayb, azb
- [!list]:匹配除 list 中的任意单一字符,a[!0-9]b,a与b 之间必须也只能有一个字符,但不能是阿拉伯数字,axb,aab,a-b
- [c1-c2]:[0-9]/[a-z],a[0-9]b,必须也只能有一个字符,a0b,a1b,a9b;
- {string1, string2, …}:a[abc, xyz, 123]b,a 与 b 之间只能是 abc 或 xyz 或 123 这三个字符串之一;
1. 常用 tricks
- 匹配任意字符:使用
[\s\S]*
\s
:空白字符\S
:非空白符;.*
:无法匹配换行符(\n
);
- \w
- 匹配数字、字母、下划线,
[a-zA-Z0-9_]
(中括号表示或的关系) - \w+与[\w]+:没有区别,匹配连续的字符(数字、字母、下划线)
- [\w+]:匹配数字、字母、下划线以及+(加号)
- 匹配数字、字母、下划线,
2. 正则表达式用于自然语言处理
提取字符串中所有的单词:
def words(txt, lower_case=True):return re.findall(r'\w+', txt.lower())
词频统计:
from collections import Counter words_counter = Counter(words(open('xx.txt').read())) def P(word, N=sum(words_counter.values())):return words_counter[word] / N
python re —— 自然语言处理与正则表达式相关推荐
- Python NLTK 自然语言处理入门与例程
Python NLTK 自然语言处理入门与例程 在这篇文章中,我们将基于 Python 讨论自然语言处理(NLP).本教程将会使用 Python NLTK 库.NLTK 是一个当下流行的,用于自然语言 ...
- python中文字符串编码_浅谈python下含中文字符串正则表达式的编码问题
前言 Python文件默认的编码格式是ascii ,无法识别汉字,因为ascii码中没有中文. 所以py文件中要写中文字符时,一般在开头加 # -*- coding: utf-8 -*- 或者 #co ...
- Python函数封装:利用正则表达式compile、findall对多组关键词进行模糊查询并返回统计个数,findall截取两个指定符号之间的内容
Python函数封装:利用正则表达式compile.findall对多组关键词进行模糊查询并返回统计个数,findall截取两个指定符号之间的内容 目录 利用正则表达式compile.findall对 ...
- 用Python做自然语言处理必知的八个工具【转载】
Python以其清晰简洁的语法.易用和可扩展性以及丰富庞大的库深受广大开发者喜爱.其内置的非常强大的机器学习代码库和数学库,使Python理所当然成为自然语言处理的开发利器. 那么使用Python进行 ...
- Python 网络爬虫笔记6 -- 正则表达式
Python 网络爬虫笔记6 – 正则表达式 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Python网 ...
- Python基础(十一)--正则表达式
Python基础(十一)--正则表达式 1 简述 正则表达式可以对指定的字符串与模式之间执行模式匹配.模式可以是普通的字符串,也可以是含有特殊意义字符的字符串.通过正则表达式,我们可以进行查找,校验等 ...
- python基础系列教程——python中的字符串和正则表达式全解
全栈工程师开发手册 (作者:栾鹏) python教程全解 转义字符 正则表达式是建立在字符串的基础上,当需要在字符中使用特殊字符时,python用反斜杠\转义字符.如下表: 转义字符 描述\(在行尾时 ...
- 《用 Python 处理 Excel 数据之正则表达式视频教程》 曾贤志
第1章 正则表达式常用函数与方法使用 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查 一个串是否含有某种子串.对匹配成功的字符串进行提取. ...
- Python入门基础总结笔记——正则表达式
Python入门基础总结笔记--正则表达式 完整基础知识参看网站:正则表达式 总结重点 用\d可以匹配一个数字,\w可以匹配一个字母或数字 用*表示任意个字符(包括0个),用+表示至少一个字符 用?表 ...
最新文章
- 年过四十的男人,为何路越走越窄?
- ai旋转扭曲_会了这些AI技巧:效率翻倍
- 基于 HTTP 协议的 3 种实时数据获取技术
- saltstack (6) 配置管理(2)
- Python网络编程(1.利用socket(udp)+网络调试助手,发送数据)
- 时间序列研(part1)--随机过程
- 在mac中使用git-flow
- 在 CAP 中使用 AOP ( Castle.DynamicProxy )
- PHP-Java-Bridge使用笔记
- Tesseract处理背景渐变的图片
- Java基础篇:switch语句
- 55. mysqli 扩展库(2)
- unity button 通过事件改变物体颜色
- Java机器学习软件介绍
- 已解决:Torch not compiled with CUDA enabled
- 黄一老师:征信问答这些信用知识你都了解吗?
- 带你去旅游 伴我游世界
- 下载FLV资源的几种办法
- IT耳朵IT桔子:2017年人工智能行业发展研究报告白皮书
- python 发文测试
热门文章
- 关于用C#编写ActiveX控件4(转)
- HIVE--数据倾斜解决办法
- 二维数组信号 显示波形_LabVIEW编程:如何将数据存为电子表格文件,并读取进行波形显示...
- 理解AOP思想(面向切面编程)
- Linux系统下修改主机名(CentOS7)
- 电脑不识别移动硬盘怎么办_U盘插入电脑后不识别无法读取的解决方法
- python-两种方法实现:从字符串中找出 出现次数最多的 字母和 对应出现的个数
- Numpy——浅拷贝与深拷贝
- Redis教程:数据库
- 【muduo源码分析 】 MutexLock和MutexLockGuard封装