一:正则表达式基础

2020-05-30  本文已影响0人  项啊丑

概述

一:在开发中会有大量的字符串处理工作,其中经常会涉及到字符串格式的校验;例如:如何判断一个字符串是不是手机号

二:正则表达式是一个特殊的字符序列:用来描述某个规则

三:正则表达式的大致匹配过程是:依次拿出表达式(规则)和文本中的字符比较,如果每个字符串都能匹配,则匹配成功;一旦有匹配不成功的字符串则匹配失败

四:它能帮助你方便的检验一个字符串是否与某种模式匹配,也叫正规表示法、规则表达式、常规表示法等等,常简写成RE(Regular Expression)

re模块

正则表达式并不是Python的一部分,使用时需要导入re模块:import re

一:match(匹配)

1.使用match方法进行匹配操作:re.match尝试从字符串的起始位置匹配一个模式

2.re.match(正则表达式,要匹配的字符串)

        - match方法的第一个参数接收的是描述某个规则的字符串

        - 第二个参数是要匹配的字符串

        - 从左到右开始匹配

3.re.match()是用来进行匹配检查的方法;若正则表达式与字符串规则匹配,则返回匹配对象(Match Object),否则返回None

4.匹配对象(Match Object)具有一个group方法,用来返回字符串中匹配的部分(如果匹配到数据,可以使用group方法来提取匹配到的数据)

原始字符串

1.正则表达式里使用 '\' 作为转译字符

2.由于正则表达式使用反斜杠来转译特殊字符,而python自身处理字符串时,反斜杠也是用于转译字符,这样就产生了双重转译的问题

        - 假如你需要匹配的文本中的字符'\',那么使用正则表达式里将需要4个反斜杠'\\':前两个和后两个分别用于在编程语言里转译成反斜杠,转换成反斜杠后再在正则表达式里转译成一个反斜杠

3.Python中字符串前面加上r表示原生字符串(真实字符串)

4.原生字符串很好的解决了上面的这个问题,有了原始字符串,你再也不用担心是不是漏写了反斜杠

5.'r'是防止字符转译的,如果路径中出现'\t'的话,不加r的话'\t'就会被转译,而加了'r'之后'\t'就能保留原来的样子

re模块的其他用法

贪婪和非贪婪

上一篇下一篇

猜你喜欢

热点阅读