pyhton中正则表达式
简单示例
import re
a = 'C|C++|java|python|c#'# 在a中匹配python
r = re.findall('python',a)
print(r)
# 输出是一个列表
字符集
- 用 [ ] 表示,在括号中的字符都是或关系
import re
s = 'agc,afc,aec,adc,acc,abc,aac'
r = re.findall('',s)
# 单引号内填入a[ab]c 表示从字符串s中匹配两边是a、c,中间是a或者b的字符串
# 单引号内填入a[^ab]c 表示从字符串s中匹配两边是a、c,中间不是a,也不是b的字符串
# 单引号内填入a[a-c]c 表示从字符串s中匹配两边是a、c,中间是a到c的字符串,即中间是a或b或c
- \d:匹配数字 \D:匹配非数字
- \w:匹配单词字符,0-9,字母,下划线
- \s:匹配空白字符,‘ ’,‘\t’,’\r’,’\n’
- .:匹配除换行符(\n)之外的所有字符
数量词
- 让数量词前面的字符重复很多次
import re
s = 'python 345 5643 52 java php'# 匹配三个有三个字符的字符串
r = re.findall('[a-z]{3}',s)# 匹配三个有三到六个字符的字符串,python中默认是贪婪模式
r = re.findall('[a-z]{3,6}',s)
# 这是非贪婪模式,在数量词后面加一个?
r = re.findall('[a-z]{3,6}?',s)
- * :匹配星号前面的字符,出现0次到无数次都可以
- +:匹配加号前面的字符,出现1次到无数次都可以
- ?:匹配问好前面的字符,出现0次或1次
边界匹配
- ^ :从开头开始匹配
- $:从结尾开始匹配
组
()表示组,小括号里是且关系
‘(python){3}’:表示将python重复三次,和pythonpythonpython等价
忽略大小写,findall第三个参数
import re
a = 'C|C++|java|python|c#'# 在a中匹配python,在后面加上re.I后忽略大小写
# 加上re.S后是让 . 也可以匹配换行符,在这里并无意义
# 这里的 | 是且关系
r = re.findall('PyThOn',a,re.I | re.S)
print(r)
re.sub() 替换方法
import re
a = 'C|C++|java|python|c#'
# sub方法,第一个参数为要匹配的字符串,
# 第二个参数为将要替换第一个参数的参数,
# 第三个参数为被操作的整个字符串,
# 第四个参数为0时,替换所有参数,为其他数字时,替换对应次数
r = re.sub('Python','go',a,0)
print(r)
re.match()
import re
s = 'python 345 5643 52 java php'
s1 = '1 python'r = re.match('\d',s) # 返回None
r1 = re.match('\d',s1) # 返回第一个数字相关信息
# match函数返回字符串中第一个数是否和给定字符串匹配
re.search()
import re
s = 'python 345 5643 52 java php'r = re.search('\d',s) # 返回字符串中第一个和给定字符串匹配的字符串
# 返回3的相关信息
需要转译的符号
. * ? [ ] ^ $ | ( ) { } \
图片说明:
java中的调用
pyhton中正则表达式相关推荐
- Python中正则表达式用法 重点格式以这个为准_首看_各种问题
20210811 https://www.jb51.net/article/101258.htm 一.惰性模式的概念: 此模式和贪婪模式恰好相反,它尽可能少的匹配字符以满足正则表达式即可,例如: va ...
- pyhton 中的字符串切片问题
写在前面的话 这个,我是写给自己看的,感觉对其他人没有啥帮助的,所以您可以跳过,不用浪费您宝贵的时间. 因为实在是..... 玩的太久了,好久没有看书,所以现在有点方.老板说让我好好休息,我觉得他是在 ...
- oracle元字符,oracle中正则表达式的基本元字符
前面我们介绍了oracle中正则表达式的基本元字符和常用的两个函数regexp_like和 regexp_instr.这里我们再继续介绍剩下的两个正则表达式函数regexp_replace和regex ...
- java 自定义正则表达式_java中正则表达式实例详解
Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * ...
- java中正则全局匹配_JS中正则表达式全局匹配模式/g用法实例
JS中正则表达式全局匹配模式 /g用法详解 本文章来详细介绍js中正则表达式的全局匹配模式 /g用法, var str = "123#abc"; var re = /abc/ig; ...
- mysql的正则书写规则_MySql中正则表达式的使用方法描述
MySql中正则表达式的使用方法描述 更新时间:2008年07月30日 08:47:59 作者: 不知道原来mysql支持正则表达式(regex)是定义复杂查询的一个强有力的工具. 这里是一个简单 ...
- oracle中正则表达式规则,Oracle中的正则表达式(及函数)详解
1.概述 相信大家对正则表达式都不陌生,从linux下的命令到Java等编程语言,正则表达式无处不在,虽然我们实际使用的时候也并不一定太多,但是当我们要处理字符串时,它确实是一个强大的工具. 上一篇文 ...
- linux正则表达式脚本实例,PowerShell中正则表达式使用例子
本文介绍PowerShell中正则表达式的使用,PowerShell的正则表达式与微软其它语言的正则表达式是一样的,使用非常方便. 正则表达式本身是怎么回事,本文不做讨论,反正PowerShell还是 ...
- js 正则中冒号代表什么_javascript中正则表达式语法详解
好久都没有写博客了,主要是太懒了,尤其是在阳春三月,风和日丽的日子,太阳暖暖的照在身上,真想美美的睡上一觉.就导致了这篇博客拖到现在才开始动笔,javascript的正则这一块也不是什么新的东西,主要 ...
最新文章
- miniui文件上传 linux,MINIUI grid学习笔记
- 不同平台上安装python一样吗_在多个平台如何安装Python
- ElasticSearch 索引详解
- 电阻参数_压敏电阻原理、参数、选型
- oc 调用c语言方法和oc的方法调用
- Taran 缩点【bzoj1529】[POI2005]ska Piggy banks
- ICCV 2019 | 通过多标签相关性研究提升神经网络视频分类能力
- 从欧拉公式看三角波的单边谱与双边谱
- HEVC测试序列网址和账号
- matlab中get和set命令,关于matlab中get和set的用法(转)
- python函数名的作用_Python:函数名称空间与作用域:
- Page.Validate()方法
- 菜肴百度百科html,酸汤鱼
- 上载人生(数字天堂)
- html编辑器如何设置滚动字幕,使用Axure RP为网页添加滚动字幕的具体操作步骤
- 手机厂商为何取消3.5mm耳机孔?主要原因有5点,看完你就知道了
- 是非人生 — 一个菜鸟程序员的5年职场路 第9节
- Java— 齐头并进完成任务—多线程
- 怎么录制明日之后游戏视频
- Latex-加通讯作者的小信封标记
热门文章
- 基于滑膜控制的后轮主动(ARS)和DYC的协调稳定性控制,上层ARS产生期望后轮转角度
- 《校园二手商品交易平台设计与实现》 任务书
- 其他应收款的贷方是什么意思 借方又表示什么意思
- matlab中solve解方程,matlab解方程组.我的每一个方程都很长,如果用solve,solve里的参数就会很长.有什么办法呢?...
- snippet编写学习
- html5支持4k视频,视频:4K高分辨率 锐度表现有提升_尼康 D5_数码影音评测-中关村在线...
- Linux系统中判断多个设备使用了同一个IP地址,判断IP地址冲突的问题
- turtlebot操作
- 计算机网络实验报告----计算机基本网络配置
- 无法使用快速选择,因为没有足够内存(RAM)。