python学习笔记八——正则表达式

1.元字符

  []-常用来指定一个字符集:[abc];[a-z]

   -元字符在字符集中不起作用:[akm$]

   -补集匹配不在区间范围内的字符:[^5]  

  ^-匹配行首

  $-匹配行尾

  \-后可加不同字符以表示不同意义,也可用于取消所有元字符

   \d 匹配任何十进制数,相当于[0-9]

   \D 匹配任何非数字字符,相当于[^0-9]

   \s 匹配任何空白字符,相当于[\t\n\r\f\v]

   \S 匹配任何非空白字符

   \w 匹配任何字母数字字符

   \W 匹配任何非字母数字字符

  *-匹配前一个字符零次或多次

  +-至少匹配前一个字符一次

  ?-匹配前一个字符零次或一次(加在重复的后面可以实现最小匹配)

  {m,n}

2.执行匹配

  match():决定re是否在字符串刚开始的位置匹配,返回一个match对象或None

  search():扫描字符串,找到这个re匹配的位置,返回一个match对象或None

  findall():找到re匹配的所有子串,并把他们作为一个列表fanhui

  finditer():找到re匹配的所有子串,并把他们作为一个迭代器返回

  Match对象实例方法

    group()-返回被re匹配的字符串

    strat()-返回匹配开始的位置

    end()-返回匹配结束的位置

    span()-返回一个元组包含匹配(开始,结束)的位置

  模块级函数-re模块也提供了顶级函数调用如match(),search(),sub(),subn(),split(),findall()等

3.编译标志

  S-使.匹配包括换行在内的所有字符

  I-使匹配对大小写不敏感

  L-做本地化识别

  M-多行匹配

  X-能够使用REs的verbose状态,使之被组织的更清晰易懂

4.分组-()

  可以让他只返回分组的数据

  

python学习笔记八——正则表达式,码迷,mamicode.com

时间: 2024-10-12 01:26:40

python学习笔记八——正则表达式的相关文章

Python学习笔记八 面向对象高级编程(二)元类

参考教程:廖雪峰官网https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 在廖老师的学习网站里"使用元类"这部分还是把我给看晕了...网上搜到一篇感觉讲的相对易懂一些,贴出链接:两句话掌握 Python 最难知识点--元类--以此文作为这篇笔记的源本. "道生一,一生二,二生三,三生万物" 1.在Python世界中,"type"即为道

Python学习笔记(4):正则表达式

正则表达式 用法: >>>import re >>>s=r'abc' >>>re.findall(s,'abcabc') 正则语法: 元字符: . ^ $ * + ? {} [] \ | () [] 用于选择匹配 [abc] 匹配 a或者b或者c [^]用于反选,比如[^abc]不含有abc的 ^用于匹配行首 r'^abc' 匹配'abcd'而不是'dabc' $用于匹配行尾 类似^ \ : 用于转义. \d 表示数字 [0-9] \D 表示d的反 [

Python学习笔记013_正则表达式

Python中的正则表达式是通过 re 模块实现的. 通配符 .  表示除了换行以外的任何字符; 编写正则表达式时使用  r're'  , r + 正则表达式内容 >>> import re >>> >>> re.search(r'Fish.','I love FishC.com!') <_sre.SRE_Match object; span=(7, 12), match='FishC'> >>> # 如果要匹配 . 本身

python 学习笔记day09-pythonz正则表达式、socket模块

RE模块 核心函数和方法 match函数 尝试用正则表达式模式从字符串的开头匹配,如果匹配成功,则返回一个匹配对象,否则返回None >>> re.match('foo','food')   #在food 搜索foo             <_sre.SRE_Match object at 0xb70babb8>            >>> m = re.match('foo','food')            >>> m.grou

python学习笔记(正则表达式)

什么是正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配.最简单的正则表达式就是普通字符串,可以匹配其自身.换包话说,正则表达式’python’ 可以匹配字符串’python’ .你可以用这种匹配行为搜索文本中的模式,并且用计算后有值并发特定模式,或都将文本进行分段. 通配符 正则表达式可以匹配多于一个的字符串,你可以使用一些特殊字符创建这类模式.比如点号(.)可以匹配任何字符.在我们用window 搜索时用问号(?)匹配任意一位字符,作用是一样的.那么

python学习笔记(十一) - 正则表达式

一.基础知识: \d 匹配一个数字 \w 匹配一个字母或数字 . 匹配任意字符 * 表示任意个字符 + 表示至少一个字符 ? 表示0个或1个字符 {n} 表示n个字符,{n, m} 表示n - m个字符 \s 表示匹配一个空格(包括Tab等空白符),\s+表示至少一个空格 [0-9a-zA-Z\_] 可以匹配一个数字.字母或者下划线 [0-9a-zA-Z\_]+ 可以匹配至少由一个数字.字母或者下划线组成的字符串 [a-zA-Z\_][0-9a-zA-Z\_]* 可以匹配由字母或下划线开头,后接

python学习笔记(八)-模块

大型python程序以模块和包的形式组织.python标准库中包含大量的模块.一个python文件就是一个模块.1.标准模块 python自带的,不需要你安装的2.第三方模块 需要安装,别人提供的. pip install xxx 自动化安装的 手动安装 首先下载安装包 解压 在命令行里面进入到这个解压之后的目录 执行python setup.py install3.自己写的 自己写的python文件import xx 导入一个文件 ,导入文件的实质是什么,把这个python运行一次import

Python学习笔记八 面向对象高级编程(一)

参考教程:廖雪峰官网https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 一.使用__slots__ 正常情况下,当定义了一个类之后,我们可以给这个类的实例绑定任何属性,这就是动态语言的优势: class Student(object): def __init__(self,name,age): self.name=name self.age=age bob=Student('Bob

Python学习笔记八:文件操作(续),文件编码与解码,函数,递归,函数式编程介绍,高阶函数

文件操作(续) 获得文件句柄位置,f.tell(),从0开始,按字符数计数 f.read(5),读取5个字符 返回文件句柄到某位置,f.seek(0) 文件在编辑过程中改变编码,f.detech() 获取文件编码,f.encoding() 获取文件在内存中的编号,f.fileno() 获取文件终端类型(tty.打印机等),f.isatty() 获取文件名,f.name() 判断文件句柄是否可移动(tty等不可移动),f.seekable() 判断文件是否可读,f.readable() 判断文件是