标准库模块

python中通过re模块使用正则表达式

import re

常用方法

生成正则表达式对象

compile(pattern[,flags])

pattern:正则表达式字符串

flags:re.I 匹配不区分大小写

re.S .为包括换行在内的所有字符(原本.不包括换行)


匹配字符串

match(pattern,string,[flags])

在起始位置匹配,若起始位置不匹配,返回None,反之返回Match对象

search(pattern,string,[flags])

搜索字符串中第一个匹配的值,成功返回Match对象,失败返回None

findall(pattern,string,[flags])

搜索所有符合条件的字符串,并以列表形式返回,失败返回空列表,这也是最为常用的方法.

返回的列表:

  1. 正则表达式内无组时返回所有匹配的字符串的列表
  2. 当给出的正则表达式中带有一个括号时(即包含一个组),列表的元素为字符串,此字符串的内容与括号中的正则表达式相对应(不是整个正则表达式的匹配内容)
  3. 当给出的正则表达式中带有多个括号时(即包含组),列表的元素为多个字符串组成的tuple,tuple中字符串个数与括号对数相同,字符串内容与每个括号内的正则表达式相对应,并且排放顺序是按括号出现的顺序。

替换字符串

sub(pattern, replace,string[,count,flags])

count是最大替换次数,默认为0 表示替换所有匹配,返回替换后的文本

replace为替换的字符串,也可以是一个函数,此函数有一个参数为match对象,利用函数可以进行更丰富的操作,例如在匹配位置前后进行增减操作等

def add(s):
return s.group()+'五'
str1 = "一二三四六七"
x = re.sub(r'四',add,str1) #x='一二三四五六七'

分割字符串

split(pattern,string[,count,flags])

count是最大拆分次数,默认0表示无限次

以正则表达式匹配的字符串为界限分割,返回分割后的列表

match对象

常用方法:

group(num=0)

默认返回匹配的整个字符串,加参数(组号),返回该组号的字符串

groups()

返回包含所有组的元组,没有组就为空元组

最新文章

  1. LL LR SLR LALR 傻傻分不清
  2. 如何让nodejs同步操作
  3. java设计优化--观察者模式
  4. HTML学习之canves元素
  5. dom4j增删改查
  6. 如何配置svn服务器
  7. maven3.1安装及配置
  8. HDFS的shell操作
  9. 好记心不如烂笔头,ssh登录 The authenticity of host 192.168.0.xxx can't be established. 的问题
  10. Java内存模型—JMM
  11. 多重影分身——C#中多线程的使用一(基础)
  12. Spark读Hbase优化 --手动划分region提高并行数
  13. AX_CreateAndPostSales
  14. hashMap的hashCode() 和equal()的使用
  15. vue methods 中方法的相互调用
  16. php算法题2
  17. ActiveMQ——activemq的报错见解javax.jms.JMSException: Software caused connection abort: recv failed
  18. SpringBoot入门 (七) Redis访问操作
  19. Android studio的gradle
  20. js中__proto__和prototype constructor 的区别和关系

热门文章

  1. ElasticJob 3.0.0:打造面向互联网生态和海量任务的分布式调度解决方案
  2. 试题 历届试题 翻硬币 java题解
  3. Visual Studio 重置窗口布局
  4. 更好的 java 重试框架 sisyphus 配置的 2 种方式介绍
  5. JavaScript03
  6. SPI在JDBC中的运用
  7. Shadertoy 教程 Part 1 - 介绍
  8. Java继承中父类和子类构造函数的问题
  9. canvas中的优先级,.after最前,before最底,canvas中间,部件在布局下面
  10. Java:动态代理小记