Labelme批量转换json文件(代码基础9)

本文详细介绍了Python中的re模块,包括正则表达式的概念、常用字符的含义、预定义字符集的使用,以及re模块的常用功能函数如`compile()`、`match()`、`search()`、`findall()`、`finditer()`、`split()`、`sub()`和`subn()`。同时,文章提到了贪婪匹配与非贪婪匹配的概念,以及在使用flags时的注意事项,并给出了电话号码和IP地址匹配的正则表达式实例。
摘要由CSDN通过智能技术生成

继续学习,继续更新~~~~~~~~~~~~~~~~~。

因为整理了解的python基础知识点丢失的原因,还没有更新。加上很长时间没有在回顾了,后面会多方面请教,定期整理更新。主要关于属性、逻辑、以及一些基础使用。有经验的会感觉很喽啦。也是个人从没有方向到基础学习的一个过程,点滴积累。纯属分享。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

re模块正则表达式

一、简介

正则表达式本身是一种小型的、高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。

二、正则表达式中常用的字符含义

1、普通字符和11个元字符:

普通字符

匹配自身

abc

abc

.

匹配任意除换行符"\n"外的字符(DOTALL模式中也能匹配换行符

a.c

abc

\

转义字符,使后一个字符改变原来的意思

a\.c;a\\c

a.c;a\c

*

匹配前一个字符0或多次

abc*

ab;abccc

+

匹配前一个字符1次或无限次

abc+

abc;abccc

?

匹配一个字符0次或1

abc?

ab;abc

^

匹配字符串开头。在多行模式中匹配每一行的开头

^abc

abc

$

匹配字符串末尾,在多行模式中匹配每一行的末尾

abc$

abc

|

或。匹配|左右表达式任意一个,从左到右匹配,如果|没有包括在()中,则它的范围是整个正则表达式

abc|def

abc

def

{}

{m}匹配前一个字符m次,{m,n}匹配前一个字符mn次,若省略n,则匹配m至无限次

ab{1,2}c

abc

abbc

[]

字符集。对应的位置可以是字符集中任意字符。字符集中的字符可以逐个列出,也可以给出范围,如[abc][a-c][^abc]表示取反,即非abc
所有特殊字符在字符集中都失去其原有的特殊含义。用\反斜杠转义恢复特殊字符的特殊含义。

a[bcd]e

abe

ace

ade

 

()

被括起来的表达式将作为分组,从表达式左边开始没遇到一个分组的左括号,编号+1.
分组表达式作为一个整体,可以后接数量词。表达式中的|仅在该组中有效。

(abc){2}
a(123|456)c

abcabc

a456c

这里需要强调一下反斜杠\的作用:

  • 反斜杠后边跟元字符去除特殊功能;(即将特殊字符转义成普通字符)
  • 反斜杠后边跟普通字符实现特殊功能;(即预定义字符)
  • 引用序号对应的字组所匹配的字符串。

a=re.search(r'(tina)(fei)haha\2','tinafeihahafei tinafeihahatina').group()

print(a)

结果:

tinafeihahafei

2、预定义字符集(可以写在字符集[...]中) 

\d

数字:[0-9]

a\bc

a1c

\D

非数字:[^\d]

a\Dc

a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值