Python正则表达式的示例分析

  

这篇文章主要介绍了Python正则表达式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

文章目录

  • 0、前言

  • 1、正则表达式模式

  • 2、正则表达式修饰符 - 可选标志


    • 2.1、`re.IGNORECASE`(`re.I`)

    • 2.2、`re.ASCII`(`re.A`)

    • 2.3、`re.DOTALL`(`re.S`)

    • 2.4、`re.MULTILINE`(`re.M`)

    • 2.5、`re.VERBOSE`(re.X)

    • 2.6、修饰符的叠加

  • 3、正则表达式函数


    • Example 3.3.1

    • Example 3.2.1

    • Example 3.1.1

    • Example 3.1.2

    • Example 3.1.3

    • 3.1、查找单个匹配项的函数


    • 3.2、查找多个匹配项的函数


    • 3.3、分割


import re

0、前言

本篇笔记基于菜鸟教程以及该知乎教程,融入了自己的一些学习心得。

1、正则表达式模式

Python正则表达式的示例分析

高亮处是我的补充,因为根据实际情况确实是能匹配到的
Python正则表达式的示例分析

这边我就偷点懒了哈,直接截的是菜鸟教程的图。

2、正则表达式修饰符 - 可选标志

2.1、re.IGNORECASE(re.I)

虽然第1节是常量,但我们必须先简要提一下re.findall这个函数,因为它是贯穿这一节的函数。
re.findall(模式中,字符串,国旗=0):从字符串任意位置查找,返回一个列表。<代码> 模式是欲匹配的字符(串),<代码>字符串> 标记是修饰符,默认是0

<代码>再保险。我> text =,“我# 39;m  Jasmine-Feng只My  student  number  is 没有一只321432“pattern =, r" Jasmine-FENG"打印(& # 39;默认值:,& # 39;,,re.findall(模式、文本))打印(& # 39;Ignore 上层/lower 案例:,& # 39;,,re.findall(模式、文本、旗帜=re.I)

注意:模式被赋了一个<强> r字符串强劲,这个r字符串的作用是避免转义,r是原始的缩写,也就是保持原样的意思,可看这篇博文。一般来说,使用正则表达式都会用到这个r字符串。

默认值:,,[]Ignore 上层/lower 案例:,,(& # 39;Jasmine-Feng& # 39;] Process  finished  with  exit  code  0

在默认情况下,区分大小写,找不到ENG;若不区分,则可以找到ENG。

<强> 2.2,<代码> re.ASCII (<代码> re.A>

<代码>再保险。的作用是只匹配ASCII码支持的字符,那么具体指哪些字符呢?下图来自百度百科。
 Python正则表达式的示例分析“> <br/>汉字是不在这个里面的,所以如果修饰符是<代码>再保险。> </代码的话就匹配不了汉字了哈~ </p> <pre类= text =,“我是Jasmine-Feng只我的学号是没有只321432“pattern =, r" \ w +“打印(& # 39;默认值:,& # 39;,,re.findall(模式、文本))打印(& # 39;ASCII: & # 39;,, re.findall(模式、文本、旗帜=re.A)

<代码> \ w +> 默认值:,,(& # 39;我是茉莉花# 39;,,& # 39;冯# 39;,,& # 39;我的学号是没有# 39;,,& # 39;321432 & # 39;]ASCII:,,(& # 39;茉莉花# 39;,,& # 39;冯# 39;,,& # 39;没有# 39;,,& # 39;321432 & # 39;]Process  finished  with  exit  code  0

<强> 2.3,<代码> re.DOTALL (<代码> re.S>

在正则表达式模式中,<代码>。>

text =,“我\ t是Jasmine-F \能只我%的吗?学号是没有只321432“pattern =, " # 39;。* & # 39;打印(& # 39;默认值:,& # 39;,,re.findall(模式、文本))打印(& # 39;DOTALL:, & # 39;,, re.findall(模式、文本re.S))

Python正则表达式的示例分析