zoukankan      html  css  js  c++  java
  • python之re模块和正则表达式


    今天我们来谈谈python中模块的使用,在探讨模块前先来了解一下正则表达式的具体用法。

    1.正则表达式

    正则表达式就是匹配 字符串内容的一种规则。谈到正则就和字符串相关了,首先我们要知道什么是字符组。

    字符组

    在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示
    字符分为很多类,比如数字、字母、标点等等。
    假如你现在要求一个位置"只能出现一个数字",那么这个位置上的字符只能是0、1、2...9这10个数之一。

    字符:

    元字符
     
    匹配内容
    匹配除换行符以外的任意字符
    w 匹配字母或数字或下划线
    s 匹配任意的空白符
    d 匹配数字
    匹配一个换行符
    匹配一个制表符
     匹配一个单词的结尾
    ^ 匹配字符串的开始
    $ 匹配字符串的结尾
    W
    匹配非字母或数字或下划线
    D
    匹配非数字
    S
    匹配非空白符
    a|b
    匹配字符a或字符b
    ()
    匹配括号内的表达式,也表示一个组
    [...]
    匹配字符组中的字符
    [^...]
    匹配除了字符组中字符的所有字符

        量词:

    量词
    用法说明
    * 重复零次或更多次
    + 重复一次或更多次
    ? 重复零次或一次
    {n} 重复n次
    {n,} 重复n次或更多次
    {n,m} 重复n到m次

    正则. ^ $的具体用法

    . 可以匹配任意字符  ^只从开头匹配 $只匹配结尾的

    正则 * + ? { }的用法

    *表示重复零次或多次 
    +表示重复一次或多次
    ?表示重复零次或一次
    {}表示匹配多少次字符

      注意:前面的*,+,?等都是贪婪匹配,也就是尽可能匹配,后面加?号使其变成惰性匹配

    字符集[  ] 和[ ^ ]

     李[杰莲英二棍子]*    表示匹配“李”字后面[杰莲英二棍子]的字符任意次

     李[^和]*    表示匹配一个不是“和”的字符任意次

      [d]           表示匹配任意一个数字

      [d]+          表示匹配任意个数字

    分组()与或| [^]

    转义符

    在正则表达式中,有很多有特殊意义的是元字符,比如d和s等,如果要在正则中匹配正常的"d"而不是"数字"就需要对""进行转义,变成'\'。

    在python中,无论是正则表达式,还是待匹配的内容,都是以字符串的形式出现的,在字符串中也有特殊的含义,本身还需要转义。所以如果匹配一次"d",字符串中要写成'\d',那么正则里就要写成"\\d",这样就太麻烦了。这个时候我们就用到了r'd'这个概念,此时的正则是r'\d'就可以了。

    re模块的常用方法

      

  • 相关阅读:
    iOS 阶段学习第23天笔记(XML数据格式介绍)
    iOS 阶段学习第22天笔记(JSON数据格式介绍)
    iOS阶段学习第21天笔记(ARC内存管理-Copy-代理)
    iOS阶段学习第20天笔记(MRC内存管理)
    iOS阶段学习第19天笔记(协议-Protocol)
    iOS阶段学习第18天笔记(Plist-Archiver-归档与解归档操作)
    iOS阶段学习第17天笔记(NSFileManager-NSFileHandle-文件操作)
    Mac系统与Xcode的一些常用操作介绍
    iOS阶段学习第16天笔记(Category-NSSet-SEL-NSIndexSet 操作)
    iOS UIButton添加圆角,添加边框
  • 原文地址:https://www.cnblogs.com/moning/p/7299409.html
Copyright © 2011-2022 走看看