Python正则表达式指南

时间:2022-08-28 00:20:03 

Python正则表达式难?学不会?请看这里!本文为您介绍 PythonPython正则表达式。包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。

注意:本文基于Python2.4完成;如果看到不明白的词汇请记得百度谷歌,whatever。

1. 正则表达式基础

1.1. 简单介绍

正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。

下图展示了使用正则表达式进行匹配的流程:

Python正则表达式指南

正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。如果表达式中有量词或边界,这个过程会稍微有一些不同,但也是很好理解的,看下图中的示例以及自己多使用几次就能明白。

下图列出了Python支持的正则表达式元字符和语法:

Python正则表达式指南

1.2. 数量词的贪婪模式与非贪婪模式

正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。例如:正则表达式"ab"如果用于查找"abbbc",将找到"abbb"。而如果使用非贪婪的数量词"ab?",将找到"a"。

1.3. 反斜杠的困扰

与大多数编程语言相同,正则表达式里使用""作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符"",那么使用编程语言表示的正则表达式里将需要4个反斜杠"\\":前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。Python里的原生字符串很好地解决了这个问题,这个例子中的正则表达式可以使用r"\"表示。同样,匹配一个数字的"\d"可以写成r"\d"。有了原生字符串,你再也不用担心是不是漏写了反斜杠,写出来的表达式也更直观。

1.4. 匹配模式

正则表达式提供了一些可用的匹配模式,比如忽略大小写、多行匹配等等。

标签:Python,Python表达式,软件技巧
0
投稿

猜你喜欢

  • Win7系统怎么取消禁ping命令?

    2022-04-22 06:35:19
  • Win10预览版14379新增哪些功能? 更新内容和已知bug汇总

    2022-06-18 16:01:24
  • 浴火银河2for Mac武器全攻略 浴火银河2武器大全

    2022-04-02 17:04:44
  • Win10 Redstone版Build 14251现身 正式版将在7月份发布

    2022-02-19 13:28:54
  • 腾讯电脑管家关闭处理器关联教程

    2022-10-09 14:41:29
  • win7电脑如何跳过硬盘自检?

    2022-08-25 15:38:50
  • MSDN我告诉你哪个是真的网址?

    2023-12-01 07:08:50
  • Win7旗舰版系统应该如何优化?

    2023-02-01 11:24:41
  • wps文字怎样设置标题样式

    2022-02-12 07:15:07
  • win7的软键盘怎么打开_win7的软键盘打开方法

    2022-07-01 08:39:11
  • excel2003固定行列不动的方法

    2022-12-05 13:51:48
  • 解决百度文库一直不显示图片的技巧

    2022-09-16 10:30:03
  • WPS表格怎么制作成绩统计模版图文教程

    2022-03-05 00:26:18
  • Win10系统怎么一键创建还原点?

    2023-09-15 17:42:37
  • 教教大家夜神模拟器怎么开脚本的方法教程

    2022-08-29 10:28:35
  • 查看电脑配置状况好坏的技巧

    2022-03-01 20:04:33
  • win10 trustedinstaller权限获取方法

    2022-03-27 01:14:10
  • excel 2013的窗口组成部分 概述

    2022-03-19 03:38:17
  • Win11如何平铺任务栏?Win11系统平铺任务栏教程

    2022-08-28 05:14:53
  • Win8系统评价我的计算机的操作方法步骤

    2022-10-23 06:50:04
  • asp之家 电脑教程 m.aspxhome.com