python 之正则表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 之正则表达式相关的知识,希望对你有一定的参考价值。

一、正则表达式

  首先,我们需要感性的了解下什么是正则表达式,简单的是说“正则表达式”就是一个“表达式”,更准确定义是:“用一个简洁的方法来实现对“一组字符串”的表达式。

最终目的就是实现“一行胜千言”的效果。

 

二、实现正则表示的关键

1) 操作符
 (2) 原生字符串
 (3) re库
 (4) 正则表示对象编译

 

三、详解正则表示关键要素

 

  3.1 操作符

  我们想实现用一个简单的表达式实现对一组字符串的表达,那首先就需要了解操作符。我们回过头来再看下正则表达式的实际构造,我们先看一个实例,实例内容如下所示。

>>>> P(Y|YT|YTH|YTHO)?N

  由上面这个正则表达式的实例,我们可以看出一个正则表达式的构造有两部分构成,即:“字符串” + “操作符”构成。

  所以我们在学习正则表达式的过程中,我们首先需要学习和了解的就是这个操作符的实际含义和常用实例场景。有关正则的“操作符”具体含义,简单收集如下。

技术分享

 技术分享

   3.2 原生字符串

  为什么要介绍和学习原生字符串呢?主要是因为在python自带的正则表达式的标准库re库,其通常使用原生字符串来写各种正则表达式,所以我们需要了解下。

  其实所谓“原生字符串”主要是正对我们常用的“字符串”而言的,大家只需要简单的记住:原生字符串就是不带“转义字符(\\)”的字符串。因为在正则的操作符中经常会见到这个“\\”,如:\\d、

\\w’而这个反斜线(\\)在普通字符中,提代表转移符,具有特殊的含义,即将一些特出符号标注转义为普通符号。而在正则表达式中为避免一些不必要的复杂与错误的操作,故将此有特征含义

的字符串的“转义含义”给抹去了。

  具体原生字符串的实现方式,可见如下示例。

原生字符串实现格式:
>>>> rtext

实际举例:
>>>> r[1-9\\d{5}]
>>>> r\\d{3}-\\d{8|\\d{4}-\\d{7}}

 

  3.3 re库

  (1)re库简单介绍

   re库是python默认自带的标准库,无需单独安装,直接使用import进行引入即可正常使用,调入具体操作如下。

>>>>import re

  

  (2)re 库主要功能函数

  有关re库的6个主要功能函数,坚持收集罗列如下表所示。

技术分享

  3.4 正则表达式对象编译

regex = re.compile(r‘text‘)

 

 

  

以上是关于python 之正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

python爬虫之小说网站--下载小说(正则表达式)

python爬虫之正则表达式

Python爬虫入门之正则表达式

Python爬虫入门七之正则表达式

python3爬虫之入门和正则表达式

Python100天精通指南 之 re正则表达式