简单示例

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中正则表达式相关推荐

  1. Python中正则表达式用法 重点格式以这个为准_首看_各种问题

    20210811 https://www.jb51.net/article/101258.htm 一.惰性模式的概念: 此模式和贪婪模式恰好相反,它尽可能少的匹配字符以满足正则表达式即可,例如: va ...

  2. pyhton 中的字符串切片问题

    写在前面的话 这个,我是写给自己看的,感觉对其他人没有啥帮助的,所以您可以跳过,不用浪费您宝贵的时间. 因为实在是..... 玩的太久了,好久没有看书,所以现在有点方.老板说让我好好休息,我觉得他是在 ...

  3. oracle元字符,oracle中正则表达式的基本元字符

    前面我们介绍了oracle中正则表达式的基本元字符和常用的两个函数regexp_like和 regexp_instr.这里我们再继续介绍剩下的两个正则表达式函数regexp_replace和regex ...

  4. java 自定义正则表达式_java中正则表达式实例详解

    Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * ...

  5. java中正则全局匹配_JS中正则表达式全局匹配模式/g用法实例

    JS中正则表达式全局匹配模式 /g用法详解 本文章来详细介绍js中正则表达式的全局匹配模式 /g用法, var str = "123#abc"; var re = /abc/ig; ...

  6. mysql的正则书写规则_MySql中正则表达式的使用方法描述

    MySql中正则表达式的使用方法描述 更新时间:2008年07月30日 08:47:59   作者: 不知道原来mysql支持正则表达式(regex)是定义复杂查询的一个强有力的工具. 这里是一个简单 ...

  7. oracle中正则表达式规则,Oracle中的正则表达式(及函数)详解

    1.概述 相信大家对正则表达式都不陌生,从linux下的命令到Java等编程语言,正则表达式无处不在,虽然我们实际使用的时候也并不一定太多,但是当我们要处理字符串时,它确实是一个强大的工具. 上一篇文 ...

  8. linux正则表达式脚本实例,PowerShell中正则表达式使用例子

    本文介绍PowerShell中正则表达式的使用,PowerShell的正则表达式与微软其它语言的正则表达式是一样的,使用非常方便. 正则表达式本身是怎么回事,本文不做讨论,反正PowerShell还是 ...

  9. js 正则中冒号代表什么_javascript中正则表达式语法详解

    好久都没有写博客了,主要是太懒了,尤其是在阳春三月,风和日丽的日子,太阳暖暖的照在身上,真想美美的睡上一觉.就导致了这篇博客拖到现在才开始动笔,javascript的正则这一块也不是什么新的东西,主要 ...

最新文章

  1. miniui文件上传 linux,MINIUI grid学习笔记
  2. 不同平台上安装python一样吗_在多个平台如何安装Python
  3. ElasticSearch 索引详解
  4. 电阻参数_压敏电阻原理、参数、选型
  5. oc 调用c语言方法和oc的方法调用
  6. Taran 缩点【bzoj1529】[POI2005]ska Piggy banks
  7. ICCV 2019 | 通过多标签相关性研究提升神经网络视频分类能力
  8. 从欧拉公式看三角波的单边谱与双边谱
  9. HEVC测试序列网址和账号
  10. matlab中get和set命令,关于matlab中get和set的用法(转)
  11. python函数名的作用_Python:函数名称空间与作用域:
  12. Page.Validate()方法
  13. 菜肴百度百科html,酸汤鱼
  14. 上载人生(数字天堂)
  15. html编辑器如何设置滚动字幕,使用Axure RP为网页添加滚动字幕的具体操作步骤
  16. 手机厂商为何取消3.5mm耳机孔?主要原因有5点,看完你就知道了
  17. 是非人生 — 一个菜鸟程序员的5年职场路 第9节
  18. Java— 齐头并进完成任务—多线程
  19. 怎么录制明日之后游戏视频
  20. Latex-加通讯作者的小信封标记

热门文章

  1. 基于滑膜控制的后轮主动(ARS)和DYC的协调稳定性控制,上层ARS产生期望后轮转角度
  2. 《校园二手商品交易平台设计与实现》 任务书
  3. 其他应收款的贷方是什么意思 借方又表示什么意思
  4. matlab中solve解方程,matlab解方程组.我的每一个方程都很长,如果用solve,solve里的参数就会很长.有什么办法呢?...
  5. snippet编写学习
  6. html5支持4k视频,视频:4K高分辨率 锐度表现有提升_尼康 D5_数码影音评测-中关村在线...
  7. Linux系统中判断多个设备使用了同一个IP地址,判断IP地址冲突的问题
  8. turtlebot操作
  9. 计算机网络实验报告----计算机基本网络配置
  10. 无法使用快速选择,因为没有足够内存(RAM)。