美文网首页
python使用正则表达式

python使用正则表达式

作者: test小星星 | 来源:发表于2018-10-08 21:31 被阅读12次

正则表达式能按某种模式匹配一系列有相似特征的字符串。它是由一些字符串和特殊符号组成的字符串。

常见正则表达式符号和特殊字符

1.表示字符

表示法 描述 正则表达式示例
. 匹配任意一个字符(除了\n) a.c 匹配在字母“a”和“c”之间的任意一个字符;例如abc、a9c、a#c等
[] 匹配[]中列举的字符 a[0-9] 匹配字母a后面跟着0到9任意一个数字;例如a1、a3、a9等
[^...] 匹配不在此字符集中出现的任何一个字符 a[^A-Z];匹配a后面不能是大写字母,例如不能是aA、aD、aZ等
\d 匹配任何十进制数字(\D与\d相反,匹配非数字) a\dc 匹配a和c之间任何一个数字;例如a1c、a6c、a8c等
\s 匹配任何空格字符,即空格、tab键、\n、\r、\t等(\S与\s相反,匹配非空格) a\sc 匹配a和c之间任何空白字符;例如a c、a c等
\w 匹配任何字母数字字符(\W与\w相反) a\wc 匹配a和c之间任何一个字母数字字符;例如aac、a2c、a*c等

2.表示数量

表示法 描述 正则表达式示例
* 匹配前一个字符出现0次或者无限次,即可有可无 a.*c ;匹配如ac、abc、abbbbbbbbbbc等
+ 匹配前一个字符出现1次或者无限次,即至少有一次 a.+c;匹配如abc、abbbbc等,但不能匹配ac
? 匹配前一个字符出现1次或者0次,即要么有1次,要么没有 a.?c;匹配如ac、abc
{m} 匹配前面一个字符出现m次 比如填{3}此表示需要出现3 a.{3}c;匹配abbbc
{m,} 匹配前一个字符至少出现m次 比如填{5,}表示至少出现五次
{m.n} 匹配前一个字符出现从m到n次 比如填{3,5}表示至少出现3次最多出现5次 a.{3,5}c;匹配abbbc、abbbbbc

3.表示边界

表示法 描述
^ 匹配以什么字符符为开头
$ 匹配以前一个字为结尾
\b 匹配一个单词的边界
\B 匹配非单词边界
| 匹配左右两边任意一个表达式

re模块

# 导入re模块
import re

match()方法

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

re.match是用来进行正则匹配检查的方法,若字符串匹配正则表达式,则match方法返回匹配对象(macth object),否则返回None(注意不是空字符串"")macth object具有group方法,用来返回字符串的匹配部分。

search()方法

result = re.search("正则表达式", "要匹配的字符串")

search()和match()的区别是:match是从左往右依次匹配所以^要不要都没影响,search是找所有字符串中是否包含要匹配的字符串。如果要从第一个字符串开始找就需要用到^

findall()方法

如果在一堆字符串中匹配到多个一样的值全部以列表的形式返回。search()和match()都只返回第一个匹配到的值

sub()方法

re.sub("被替换的字符串(把什么)","替换后的字符串(替换成什么,可以接收一个函数)", "原始字符串")

贪婪模式非贪婪模式

默认匹配时都是贪婪模式,就是尽可能多的去匹配,只要在匹配字符后面加个?号就可以关闭贪婪模式。即非贪婪模式,尽可能的匹配少的字符

import re
s = 'aa12345ddddd'
# 贪婪
re.match('aa(\d+)', s).group(1)
'12345'
# 非贪婪
re.match('aa(\d+?)', s).group(1)
'1'

相关文章

  • [转]python正则表达式(一) 函数使用

    原文:python | 史上最全的正则表达式 更全的正则表达式处理函数:在python中使用正则表达式(一) 0....

  • Python正则表达式指南

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例...

  • 正则表达式使用汇总---python篇

    python 正则表达式 上篇文章中介绍了正则表达式使用汇总---javascript篇,本篇文章介绍python...

  • python基础——re(正则表达式)

    1 python正则表达式 python中正则表达式一般使用自带的re模块,本文将简单介绍该模块的使用方法和注意事...

  • 正则表达式(三):python re模块

    以下示例所使用 python 版本为: 3.7 python 提供 re 模块,来满足正则表达式的使用。在开始介绍...

  • Python 爬虫第一步 - 正则表达式

    正则表达式的使用 想要学习 Python 爬虫 , 首先需要了解一下正则表达式的使用,下面我们就来看看如何使用。 ...

  • 正则表达式

    Python正则表达式初识(一) Python正则表达式初识(二) Python正则表达式初识(三) Python...

  • 正则表达式

    使用正则表达式 来源Github项目:jackfrued/Python-100-Days仅供学习参考 正则表达式相...

  • Python之正则表达运用

    在python中使用正则表达式 Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模...

  • Python--正则匹配

    正则表达式匹配规则 Python 的 re 模块 在 Python 中,我们可以使用内置的 re 模块来使用正则表...

网友评论

      本文标题:python使用正则表达式

      本文链接:https://www.haomeiwen.com/subject/uomegftx.html