zoukankan      html  css  js  c++  java
  • 『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('[ 。,,《;](.{,15}?人民法院)')
    _court_list = [name.group(1) for name in pattern_c.finditer(lines)]

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

    贪婪匹配

    比如正则表达式:

    '审理(.+)指控'

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

    '审理(.+)指控?'

    而非

    '审理(.+?)指控'

  • 相关阅读:
    linux初始密码Mysql
    lamp整个打包
    模拟小球碰撞后返回
    Linux图形界面卡死
    非模态对话框
    菜单
    键盘消息简单示例
    菜单练习
    模态对话框练习
    阶段知识整合(画笔,画刷,字体)
  • 原文地址:https://www.cnblogs.com/hellcat/p/7422017.html
Copyright © 2011-2022 走看看