python的re(正则表达式)
时间:2021-07-14
本文章向大家介绍python的re(正则表达式),主要包括python的re(正则表达式)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
python re
import re s = '''bottle\nbag\nbig\napple''' for i,c in enumerate(s, 1): print((i-1, c), end="\n" if i%8==0 else ' ') print() print('--match--') result = re.match('b', s) print(1, result) result = re.match('a', s) print(2, result) result = re.match('^a', s, re.M) print(3, result) result = re.match('^a', s, re.S) print(4, result) # 先编译,然后使用正则表达式对象 regex = re.compile('a') result = regex.match(s) print(5, result) result = regex.match(s, 15) print (6, result) # print('--search--') result = re.search('a', s) print(7, result) regex = re.compile('a') result =regex.search(s, 15) print(8, result) regex = re.compile('^b') result =regex.search(s,11) print(9, result) result = re.fullmatch ('bag', s) print (10, result) regex = re.compile ('bag') result = regex.fullmatch(s) print (11, result) result = regex. fullmatch(s, 7) print (12, result) result = regex. fullmatch(s, 7, 10) print(13, result) # [7, 10)
2
import re s = '''bottle\nbag\nbig\nable''' for i,c in enumerate(s, 1): print((i-1, c), end='\n' if i%8==0 else ' ') print() result = re.findall('b', s) print(1, result) regex = re.compile('^b') result = regex.findall(s) print(2, result) regex = re.compile('^b', re.M) result = regex.findall(s, 7) print(3, result) regex = re.compile('^b', re.S) result = regex.findall(s) print(4, result) regex = re.compile('^b', re.S) result = regex.findall(s, 7) print(5, result) regex = re.compile('^b', re.M) result = regex.findall(s, 7, 10) print(6, result)
3
import re s = '''bottle\nbag\nbig\nable''' for i,c in enumerate(s, 1): print((i-1, c), end='\n' if i%8==0 else ' ') print() regex = re.compile('b\wg') result = regex.sub('magedu', s) print(1, result) result = regex.sub('magedu', s, 1) print(2, result) regex = re.compile('\s+') result = regex.subn('\t', s) print(6, result)
4
import re s = '''01 bottle 02 bag 03 big 100 able''' for i,c in enumerate(s, 1): print((i-1, c), end='\n' if i%8==0 else ' ') print() print(s.split()) result = re.split('[\s\d]+', s) print(1, result) regex = re.compile('^[\s\d]+') result = regex.split(s) print(2, result) regex = re.compile('^[\s\d]+', re.M) result = regex.split(s) print(3, result) regex = re.compile('\s+\d+\s+') result = regex.split(' '+s) print(4, result) regex = re.compile('\s?\d{2}\d?\s+') result = regex.split(s) result = list(filter(None,result)) print(5, result)
5
import re s = '''bottle\nbag\nbig\nable''' for i,c in enumerate(s, 1): print((i-1, c), end='\n' if i%8==0 else ' ') print() regex = re.compile('(b\w+)') result = regex.match(s) print(result) print(type(result)) print(1, 'match', result.groups()) result = regex.search(s) print(2, 'search', result.groups()) regex = re.compile('(b\w+)\n(?P<name2>b\w+)\n(?P<name3>b\w+)') result = regex.match(s) print (3, 'match', result) print(4, result.group(3), result.group(2), result.group(1)) print (5, result.group(0).encode()) print (6, result.group('name2'), result.group('name3')) print (6, result.groups()) print(7, result.groupdict()) # result = regex.findall(s) # for x in result: # print(type(x), x) regex = re.compile('(?P<head>b\w+)') result = regex.finditer(s) for x in result: print(type(x), x, x.group(), x.group('head'))
原文地址:https://www.cnblogs.com/soymilk2019/p/15012275.html
- 《Redis设计与实现》读书笔记(十四) ——Redis RDB文件创建、载入与自动保存原理
- 框架 | Spark中的combineByKey
- 《Redis设计与实现》读书笔记(十五) ——Redis AOF持久化原理与实现
- PHP CodeBase: 生成N个不重复的随机数
- PHP转义Json里的特殊字符的函数
- PHP使用SOAP调用.net的WebService问题
- 框架 | spray-routing的核心流程
- 高通msm8909耳机调试
- 了解PHP中Stream(流)的概念与用法
- 动态绑定与静态绑定
- Android4.0 声卡配置-高通msm8916移植
- PHP安全:session劫持的防御
- 函数式非凡的抽象能力
- 设备树的interrupt
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 打印流
- 文件分割与合并
- 其他流---基本数据处理流
- 其他流---字节数组流与文件流对接
- 其他流---字节流数组
- 字符流出现乱码问题
- 缓冲流---为字节流和字符流复制文件增加缓冲流
- 字符流---输入输出与复制文本文件
- Spring 中的几个 PostProcessor 的区别与联系
- Spring 中基于注解的事务控制及原理分析
- Spring 中根据环境切换配置 @Profile
- Spring 中的属性赋值
- Spring 中控制 Bean 生命周期的几种方式及 BeanPostProcessor 执行原理
- Spring 中的 @Import 注解及向容器中添加 Bean 的几种方式
- Spring 注解开发之 @Conditional