『Re』知识工程作业_主体识别

一个比较完备的正则表达式介绍

几个基础函数

re.compile(patternflags=0)

将正则表达式模式编译成一个正则表达式对象,它可以用于匹配使用它的match ()search ()等方法。

实际有两种使用方式:

  pattern.匹配方法(string) 或者 re.匹配方法(pattern,string)

使用或|来强化匹配规则:

pattern_t = re.compile(
'[0-9〇一二三四五六七八九]{4}年.{1,2}月.{1,3}日'
'|同年.{1,2}月.{1,3}日'
'|[0-9〇一二三四五六七八九]{4}年.{1,2}月.{1}旬'
'|[0-9〇一二三四五六七八九]{4}年.{1,2}月底'
'|[0-9〇一二三四五六七八九]{4}年.{1,2}月'
'|[0-9〇一二三四五六七八九十]{1,2}月.{1,3}日')
re.findall(patternstringflags=0)

返回字符串

经典用法,切词操作,匹配长度大于1的全字母序列

re.findall(r'[a-zA-Z]{2,}',line.strip())

很好用的一个表达式,返回汉字字符(list形式)

news = re.findall(r'[\u4e00-\u9fa5]',word)
re.finditer(patternstringflags=0)

返回一个迭代器符合

正则表达式迭代器对象

之所以单提出来,是因为迭代器在匹配组groups的时候真的好用,

pattern_c = re.compile('[\n。,,《;](.{,15}?人民法院)')
_court_list = [name.group(1) for name in pattern_c.finditer(lines)]

group(1)表示匹配到的符合第一组的部分,2、3……类推,而0表示包含全部匹配的各个组结果的元组。

贪婪匹配

比如正则表达式:

'审理(.+)指控'

我希望不去贪婪匹配,那么应该是

'审理(.+)指控?'

而非

'审理(.+?)指控'

『Re』正则表达式模块_常用方法记录的更多相关文章

  1. 『Pickle』数据结构持久化模块_常用方法记录

    可以把数据结构保存进文件并直接读出, 不论读取或者是保存,我们都需要借助open()函数,并且是二进制方式(‘wb’,‘rb’) json模块可以把字典结构改写为string然后保存,并可以反向读取字 ...

  2. 『TensorFlow』分布式训练_其三_多机分布式

    本节中的代码大量使用『TensorFlow』分布式训练_其一_逻辑梳理中介绍的概念,是成熟的多机分布式训练样例 一.基本概念 Cluster.Job.task概念:三者可以简单的看成是层次关系,tas ...

  3. 『Numpy』内存分析_高级切片和内存数据解析

    在计算机中,没有任何数据类型是固定的,完全取决于如何看待这片数据的内存区域. 在numpy.ndarray.view中,提供对内存区域不同的切割方式,来完成数据类型的转换,而无须要对数据进行额外的co ...

  4. 『TensorFlow』读书笔记_降噪自编码器

    『TensorFlow』降噪自编码器设计  之前学习过的代码,又敲了一遍,新的收获也还是有的,因为这次注释写的比较详尽,所以再次记录一下,具体的相关知识查阅之前写的文章即可(见上面链接). # Aut ...

  5. 『TensorFlow』分布式训练_其二_单机多GPU并行&GPU模式设定

    建议比对『MXNet』第七弹_多GPU并行程序设计 一.tensorflow GPU设置 GPU指定占用 gpu_options = tf.GPUOptions(per_process_gpu_mem ...

  6. 『PyTorch』第九弹_前馈网络简化写法

    『PyTorch』第四弹_通过LeNet初识pytorch神经网络_上 『PyTorch』第四弹_通过LeNet初识pytorch神经网络_下 在前面的例子中,基本上都是将每一层的输出直接作为下一层的 ...

  7. 『MXNet』第九弹_分类器以及迁移学习DEMO

    解压文件命令: with zipfile.ZipFile('../data/kaggle_cifar10/' + fin, 'r') as zin: zin.extractall('../data/k ...

  8. python之模块_随手记录的模块

    目录 1.StringIO模块 2.string模块 3.pprint模块 4.struct模块 5.uuid模块 6.itertools 7.prettytable 1.StringIO (1)使用 ...

  9. 『MXNet』第一弹_基础架构及API

    MXNet是基础,Gluon是封装,两者犹如TensorFlow和Keras,不过得益于动态图机制,两者交互比TensorFlow和Keras要方便得多,其基础操作和pytorch极为相似,但是方便不 ...

随机推荐

  1. Validation in jQuery

    jquery.validate.js github地址 官方主页 doc demo jquery-validation-unobtrusive github地址 demo doc

  2. Leaflet中添加的不同图层样式图标

    如上图,具体问题请查看对应html页引用的basemaps的css样式. 如下图是本项目引用的css样式: .basemap img { width: 48px; border: 2px solid ...

  3. HANA 与 Oracle 12c哪一个更快

    本文来自于对Which is Faster HANA or Oracle 12C?的阅读笔记,列举了其中的要点.并不代表我的观点. 简介 SAP声称HANA是最快的数据库,因此SAP的新ERP系统S4 ...

  4. 利用JavaScriptSOAPClient直接调用webService --完整的前后台配置与调用示例

    JavaScriptSoapClient下载地址:https://archive.codeplex.com/?p=javascriptsoapclient JavaScriptSoapClient的D ...

  5. RN返回navigation方法

    RN官方指定的路由管理是navigation  通过打印我们可以得到navgation的相关属性 1:dispatch ,Redux的事件发起 2:goback()返回 3:navigate(rout ...

  6. hdu 1392 Surround the Trees 凸包裸题

    Surround the Trees Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  7. 【三十四】thinkphp之curd操作

    1.数据创建(create) 接受提交过来的数据,比如表单提交的 POST(默认)数据.接受到数据后,还可以对数据进行有效的验证.完成.生成等工作 // 这里 create()方法就是数据创建,数据的 ...

  8. 【五】php 面向对象

    面向对象 概念:按类进行分类,类是表示彼此之间可能互不相同,但是具有一些共同点的对象集合 多态性:不同的类对同一操作可以有不同的行为 继承:允许我们使用子类在类之间创建层次关系 类 关键字:class ...

  9. c语言关键字的区分

    const int a;//声明一个常整型数 int const a;//声明一个常整型数 const int *a;//声明指向常整型数的指针,整型数不可修改,指针可以修改 int * const ...

  10. Vs自定nuget push菜单

    1.需要准备 nuget.exe 和 nuget-push.cmd 命名行 nuget.ext 下载地址:https://files.cnblogs.com/files/liuxiaoji/nuget ...