【语言处理与Python】3.5正则表达式的有益作用

news/2024/7/4 8:39:02

提取字符块

#找到所有的无重叠的匹配指定的正则表达式

re.findall(r’[aeiou]’,word)

#看看一些文本中的两个或者两个以上的元音序列,并确定他们的相对频率

wsf=sorted((set(nltk.corpus.treebank.words()))

fd=nltk.FreqDist(vs for word in wsj

                 for vs in re.findall(r’[aeiou]{2,}’,word))

fd.items()

 

在字符块上做更多事情

#我们可以对元组进行索引操作,这样可以更方便的使用

nltk.Index()

 

查找词干

抽出一个词的词干的方法有很多种,最简单直观的办法就是直接去掉看起来像一个后缀的字符。

#首先使用正则表达式,建立一个所有后缀的连接

re.findall(r’^.*(ing|ly|ed|ious|ies|ive|es|s|ment’)$’,’processing’)

 

这样匹配出来的的结果是[‘ing’]

#注意:这里只是返回给了我们后缀。这是因为括号有第二个功能,选择要提取的子字符串,#这一点很重要,如果这一点遗忘,那么后面的阅读将会非常的不顺利。如果想要使用括号

#来指定连接的范围,但不想选择要输出的字符串,必须添加“?:”,他是许多神秘奥妙的正#则表达式之一。

#使用正则表达式把词干和后缀分离。但是要注意*是贪婪的,如果要取消他的贪婪要加?

re.findall(r’^(.*)(ing|ly|ed|ious|ies|ive|es|s|ment)$’,’processing’)

[(‘process’,’ing’)]

 

搜索已分词文本

#注意尖括号和小括号的作用

from nltk.corpus import gutenberg,nps_chat

moby=nltk.Text(gutenberg.words(‘melville-moby_dick.txt’))

moby.findall(r‘<a>(<.*>)<man>’)

#最终结果是显示满足小括号里面的内容

monied;nervous;dangerous;white;white;white;pious; queer; good;

mature;white;Cape;great; wise;wise;butterless; white;fiendish;

pale; furious; better;certain; complete; dismasted; younger;brave;

brave; brave; brave

 

转载于:https://www.cnblogs.com/createMoMo/archive/2013/05/24/3097121.html


http://www.niftyadmin.cn/n/3311920.html

相关文章

yiic.php,执行yiic命令提示’php.exe’将YII添加到系统环境变量

还有个问题就是每次执行yiic命令时要把yiic的全路径打出来才行,比如我的yii框架在F:\myproject里面,我每次执行的时候都要F:\myproject\yii\framework\yiic webapp yiiblog我们可以把yiic也加入系统环境变量,加入以下代码:假如php.exe这个目录在E:\Server\phpF:\myproject\yii\…

cvs和svn的区别

1> cvs是不支持文件的复制 移动和重命名 而svn支持 2> cvs在网络中断等时 提交的部分文件也会生效 而svn当用户全部提交完变更的文件时 才会生效 否则直接回滚 变成最初状态 3> 版本控制上 对于一个文件foo.c 在cvs1.1 版本和1.2版本始终是不相同的 而svn中有可能相…

2018年哪项AI研究最紧迫?DeepMind联合创始人说是AI伦理

本文来自AI新媒体量子位&#xff08;QbitAI&#xff09;2018年&#xff0c;正火热的人工智能会朝什么方向发展&#xff1f; DeepMind联合创始人苏莱曼&#xff08;Mustafa Suleyman&#xff09;今天在《连线》上发表文章&#xff0c;给出了他心目中的答案。 苏莱曼在DeepMind主…

egojit介绍

姓名&#xff1a;Egojit 出生年月&#xff1a;1989-10-13 QQ&#xff1a;408365330 E-mail&#xff1a;egojitqq.com 这就是我和我对技术的认知&#xff1a;一直在追求技术的提升&#xff0c;从学习C开始爱上IT&#xff0c;从.NET走进IT行业。执迷于Windows内核开发&#xff0c…

java编写一个类显示出当前日期,Java惯用类库-实例操作-取得当前日期

import java.util.* ;// 导入需要的工具包class DateTime{// 以后直接通过此类就可以取得日期时间private Calendar calendar null ;// 声明一个Calendar对象&#xff0c;取得时间public DateTime(){// 构造方法中直接实例化对象this.calendar new GregorianCalendar() ;}pub…

易错java初级面试题

class A { void fun1() { System.out.println(fun2()); }int fun2() { return 123; } }public class B extends A { int fun2() { return 456; }public static void main(String argv[]) { A a; B b new B(); b.fun1(); a b; a.fun1(); } }执行结果&#xff1a;456 456 注…

K:求取两个数的最大公约数的两个算法

相关介绍: 最大公因数&#xff0c;也称最大公约数、最大公因子&#xff0c;指两个或多个整数共有约数中最大的一个。a&#xff0c;b的最大公约数记为gcd(a&#xff0c;b)。同样的&#xff0c;a&#xff0c;b&#xff0c;c的最大公约数记为gcd(a&#xff0c;b&#xff0c;c)&…

学习总结2

1&#xff1a;注意数据越界问题与数据溢出问题。对于这个问题也许有很多人都有所了解&#xff0c;如果不加以重视会直接摧毁你的项目。&#xff08;谨记&#xff1a;对于自己写的东西考虑是不是存在这个问题&#xff0c;如果无法确定此问题不存在&#xff0c;最好进行处理&…