『Re』正则表达式模块_常用方法记录

Posted 叠加态的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了『Re』正则表达式模块_常用方法记录相关的知识,希望对你有一定的参考价值。

『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』正则表达式模块_常用方法记录的主要内容,如果未能解决你的问题,请参考以下文章

python_正则表达式_re

python正则表达式 ---- re模块

常用模块-正则re

python常用模块之——正则re模块

常用模块之正则表达式模块

#指尖人生#Python常用模块:re模块