• *: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 —— 自然语言处理与正则表达式相关推荐

  1. Python NLTK 自然语言处理入门与例程

    Python NLTK 自然语言处理入门与例程 在这篇文章中,我们将基于 Python 讨论自然语言处理(NLP).本教程将会使用 Python NLTK 库.NLTK 是一个当下流行的,用于自然语言 ...

  2. python中文字符串编码_浅谈python下含中文字符串正则表达式的编码问题

    前言 Python文件默认的编码格式是ascii ,无法识别汉字,因为ascii码中没有中文. 所以py文件中要写中文字符时,一般在开头加 # -*- coding: utf-8 -*- 或者 #co ...

  3. Python函数封装:利用正则表达式compile、findall对多组关键词进行模糊查询并返回统计个数,findall截取两个指定符号之间的内容

    Python函数封装:利用正则表达式compile.findall对多组关键词进行模糊查询并返回统计个数,findall截取两个指定符号之间的内容 目录 利用正则表达式compile.findall对 ...

  4. 用Python做自然语言处理必知的八个工具【转载】

    Python以其清晰简洁的语法.易用和可扩展性以及丰富庞大的库深受广大开发者喜爱.其内置的非常强大的机器学习代码库和数学库,使Python理所当然成为自然语言处理的开发利器. 那么使用Python进行 ...

  5. Python 网络爬虫笔记6 -- 正则表达式

    Python 网络爬虫笔记6 – 正则表达式 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Python网 ...

  6. Python基础(十一)--正则表达式

    Python基础(十一)--正则表达式 1 简述 正则表达式可以对指定的字符串与模式之间执行模式匹配.模式可以是普通的字符串,也可以是含有特殊意义字符的字符串.通过正则表达式,我们可以进行查找,校验等 ...

  7. python基础系列教程——python中的字符串和正则表达式全解

    全栈工程师开发手册 (作者:栾鹏) python教程全解 转义字符 正则表达式是建立在字符串的基础上,当需要在字符中使用特殊字符时,python用反斜杠\转义字符.如下表: 转义字符 描述\(在行尾时 ...

  8. 《用 Python 处理 Excel 数据之正则表达式视频教程》 曾贤志

    第1章 正则表达式常用函数与方法使用 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查 一个串是否含有某种子串.对匹配成功的字符串进行提取. ...

  9. Python入门基础总结笔记——正则表达式

    Python入门基础总结笔记--正则表达式 完整基础知识参看网站:正则表达式 总结重点 用\d可以匹配一个数字,\w可以匹配一个字母或数字 用*表示任意个字符(包括0个),用+表示至少一个字符 用?表 ...

最新文章

  1. 年过四十的男人,为何路越走越窄?
  2. ai旋转扭曲_会了这些AI技巧:效率翻倍
  3. 基于 HTTP 协议的 3 种实时数据获取技术
  4. saltstack (6) 配置管理(2)
  5. Python网络编程(1.利用socket(udp)+网络调试助手,发送数据)
  6. 时间序列研(part1)--随机过程
  7. 在mac中使用git-flow
  8. 在 CAP 中使用 AOP ( Castle.DynamicProxy )
  9. PHP-Java-Bridge使用笔记
  10. Tesseract处理背景渐变的图片
  11. Java基础篇:switch语句
  12. 55. mysqli 扩展库(2)
  13. unity button 通过事件改变物体颜色
  14. Java机器学习软件介绍
  15. 已解决:Torch not compiled with CUDA enabled
  16. 黄一老师:征信问答这些信用知识你都了解吗?
  17. 带你去旅游 伴我游世界
  18. 下载FLV资源的几种办法
  19. IT耳朵IT桔子:2017年人工智能行业发展研究报告白皮书
  20. python 发文测试

热门文章

  1. 关于用C#编写ActiveX控件4(转)
  2. HIVE--数据倾斜解决办法
  3. 二维数组信号 显示波形_LabVIEW编程:如何将数据存为电子表格文件,并读取进行波形显示...
  4. 理解AOP思想(面向切面编程)
  5. Linux系统下修改主机名(CentOS7)
  6. 电脑不识别移动硬盘怎么办_U盘插入电脑后不识别无法读取的解决方法
  7. python-两种方法实现:从字符串中找出 出现次数最多的 字母和 对应出现的个数
  8. Numpy——浅拷贝与深拷贝
  9. Redis教程:数据库
  10. 【muduo源码分析 】 MutexLock和MutexLockGuard封装