zoukankan      html  css  js  c++  java
  • Python 正则表达式

    2017-07-24 13:16:17

    正则表达式是用来更简洁的匹配查找字符串的一种语言。使用正则表达式可以更方便的处理字符串。在Python中使用re库可以进行字符串的正则匹配。正则表达式本身其实就是一个字符串,不过这个字符串里有一些语法,通过这些语法的约束,可以像解迷一样将字符串中自己需要的部分提取出来。

    一、语法

    二、常用的函数

    re.search(正则表达式,string) : 返回值为真或者假

    re.findall(正则表达式,string) : 返回值为一个列表,将字符串中所有符合条件的字串都返回

     三、练手

    import re
    
    x = '[asdf]: 我的全部的尊严就在于思想'
    
    #匹配空格后的所有字符
    # . : 通配符
    # * :匹配任意多个字符
    # (): 最终返回的是()中匹配的内容
    y = re.findall('.* (.*)', x)
    
    print(y)
    import re
    
    x = '[asdf]: 我的全部的尊严就在于思想'
    
    #匹配[]中的所有字符
    # . : 通配符
    # * :匹配任意多个字符
    # (): 最终返回的是()中匹配的内容
    y = re.findall('.*[(.*)]', x)
    
    print(y)
    import re
    
    x = 'From <h>window@microsoft.com<h> DA GD'
    
    # 匹配<h>...<h>中的内容,注意必须是连着的,不能有空格
    # ^ : 开头
    # . : 通配符
    # S : 匹配除空格外的所有字符
    # * :匹配任意多个字符
    # + :匹配至少一个字符
    # (): 最终返回的是()中匹配的内容
    
    pattern = re.compile('(?<=<h>)S+(?=<h>)')
    
    y = re.findall(pattern, x)
    
    print(y)
    import re
    
    x = 'From window@microsoft.com DA GD'
    
    # 匹配From开头的邮箱号(这里必须使用懒惰方式!)
    # ^ : 开头
    # . : 通配符
    # S : 匹配除空格外的所有字符
    # * :匹配任意多个字符
    # + :匹配至少一个字符
    # (): 最终返回的是()中匹配的内容
    
    pattern = re.compile('^From.*?(S+@S+)')
    
    y = re.findall(pattern, x)
    
    print(y)
  • 相关阅读:
    . Embedding Python in Another Application¶
    hive wiki
    PC机与ARM板的聊天软件
    Hadoop hive 运行examples例子 andy030611的日志 网易博客
    Notes on Ubuntu (Linux) computing
    数据结构利器之私房STL(上)
    Embedding Python in C/C++: Part I CodeProject
    linux下dup2的实现
    单台服务器上安装Hadoop和Hive十五分钟教程
    Data Structures with C++ Using STL Chapter 3算法概述笔记
  • 原文地址:https://www.cnblogs.com/hyserendipity/p/7228884.html
Copyright © 2011-2022 走看看