zoukankan      html  css  js  c++  java
  • python自然语言处理——3.7 用正则表达式为文本分词

    微信公众号:数据运营人
    本系列为博主的读书学习笔记,如需转载请注明出处。

    第三章 加工原料文本

    3.7 用正则表达式为文本分词正则表达式的基础语法分词的简单方法

    3.7 用正则表达式为文本分词

    正则表达式的基础语法

    正则表达式作为处理字符串的强大工具,拥有独特的语法和独特的处理引擎。

    分词的简单方法

    re模块作为python正则表达式的核心模块,对其语法进行介绍

    使用re的一般步骤是
    1.将正则表达式的字符串形式编译为Pattern实例
    2.使用Pattern实例处理文本并获得匹配结果(一个Match实例)
    3.使用Match实例获得信息,进行其他的操作。

    操作:

    import re
    # 将正则表达式编译成Pattern对象
    pattern = re.compile(r'hello.*!')
    # 使用Pattern匹配文本,获得匹配结果,无法匹配时将返回None
    match = pattern.match('hello, lily! How are you?')
    if match:
        # 使用Match获得分组信息
        print (match.group())

    hello,lily!

    re.match(): 从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

    import re
    print(re.match('hello','helloworld').span())
    print(re.match('world','helloworld'))

    (0,5)
    None

    re.search():扫描正则字符串,并返回第一个成功的匹配位置

    import re
    print(re.search('hello','helloworld').span())
    print(re.search('world','helloworld').span())

    (0,5)
    (5,10)

    re.sub():替换字符串中的匹配项

    import re
    phone = '029-55432907   # 这是一个座机号码'
    print(re.sub('d','0',phone))    # 将数字替换为0
    print(re.sub('#.*$','',phone))   # 将#以后的所有字符全部替换直到结束位置

    000-00000000 # 这是一个座机号码
    029-55432907

  • 相关阅读:
    百度点聚合功能,自定义针头功能
    iOS之极光推送
    iOS之短信认证
    iOS FMDB
    iOS 远程推送
    iOS之本地推送(前台模式与后台模式)
    iOS指纹识别
    关于——GCD
    关于——NSThread
    给label text 上色 && 给textfiled placeholder 上色
  • 原文地址:https://www.cnblogs.com/ly803744/p/10426403.html
Copyright © 2011-2022 走看看