Re库(正则表达式)的使用

文章目录

  • 一、 正则表达式操作符
    • (一)表示字符的操作符
    • (二)扩展字符的操作符
    • (三)其他操作符
  • 二、Re库的方法
    • (一)生成正则对象
    • (二)匹配字符串内容
    • (三)match对象的属性
    • (四)match对象的方法

一、 正则表达式操作符

(一)表示字符的操作符

  1. .:表示任何单个字符(除了\n)
  2. []:字符集,对单个字符给出范围,如[a-z]
  3. [^]:除去这些单个字符的其他字符,如[^a-c]除去abc三个字符的其他所有字符
  4. \d: 数字,等价于[0-9]
  5. \w: 单词字符,代表[A-Z,a-z,0-9]

(二)扩展字符的操作符

  1. *: 表示*前的一个字符出现0次或者无限次,abc*表示ab,abc,abcc等
  2. +: 表示+前一个字符出现1次或者无限次,abc+表示abc,abcc等等
  3. ?: 表示前一个字符0次或者1次扩展,abc?表示ab或者abc
  4. {m}:表示扩展前一个字符m次,如ab{2}c = abbc
  5. {m,n}: 表示扩展字符m到n次,如ab{1,2}c = abc,abbc

(三)其他操作符

  1. |: 表示多个表达式任意一个,即或
  2. ^: 表示匹配字符串开头
  3. $: 表示匹配字符串的结尾
  4. (): 内部只能使用|,用于分组标记

二、Re库的方法

(一)生成正则对象

regx = re.compile(pattern, flags): 将正则表达式生成为一个正则对象,其中pattern为正则表达式

(二)匹配字符串内容

  1. re.search(pattern, string, flags=0):匹配一次

     pattern:正则表达式;
     string:待匹配的字符串;
     flags:有三种标记,re.I(忽略大小写), re.M(使得^匹配字符串每行的开始部分), re.S(使得.可以匹配所有字符,包括\n)
    
  2. re.match():从字符串开头开头匹配正则

  3. re.findall():匹配字符串中所有符合正则的字符串,并返回列表

  4. re.split(pattern, string, maxsplits, flags):按照正则进行字符串分隔,返回字符串, maxsplit表示最大分隔次数

  5. re.finditer():返回匹配到的字符串的迭代器

  6. re.sub(pattern, repl, string, count=0, flags=0):repl表示代替的字符串,count表示替换的次数

(三)match对象的属性

  1. .string:待匹配的字符串
  2. .re:匹配的正则表达式
  3. .pos:开始位置
  4. .endpos:结束位置

(四)match对象的方法

  1. .group(0):获得匹配后字符串
  2. .start():匹配字符串在原始字符串开始的位置
  3. .end():匹配字符串在原始字符串结束的位置
  4. .span():返回上面两个位置

你可能感兴趣的:(#,Python基本库)