python正则表达式(1)_Python教程

内容摘要
在学习爬虫的过程中,正则表达式能够帮助我们根据某些复杂的规则去处理复杂的字符串,它是一个特殊的字符序列
文章正文

        在学习爬虫的过程中,正则表达式能够帮助我们根据某些复杂的规则去处理复杂的字符串,它是一个特殊的字符序列,在Python中,系统自带的re模块包含了正则表达式的全部功能,下面我们进入正则表达式的学习。

    1. 元字符

        正则表达式的结构由普通字符和元字符组成,普通字符就是我们日常使用的文本字符,而元字符有它特定的含义,具有匹配信息的功能。

        常用的正则表达式元字符如下表格:

元字符 功能

\

转义符,表示位于‘\’之后的为转义字符。

.

任意一个字符

?

匹配‘?’前面的字符一次或零次

+

匹配‘+’前面的字符一次或多次

*

匹配‘*’前面的字符零次或多次

-

用在[]之内用来表示范围

^

匹配行首,匹配以^后面的字符开头的字符串

$

匹配行尾,匹配以$之前的字符结束的字符串

()

定义分组

[]

定义字符类

{}

定义量词

|

选择符号,或关系

\b

匹配单词头或单词尾

\B

与\b相反

\d

匹配任何数字,相当于[0-9]

\D

与\d相反

\s

匹配任何空白字符

\S

与\s相反

\w

匹配任何字母、数字以及下划线,相当于[a-zA-Z0-9]

\W

与\w相反

\z

匹配字符串结束

\G

匹配最后完成的位置

\A

匹配字符串开始

    2. 元字符功能

        1)  字符类[]

        例如在一个列表中有‘apython’、‘bpython’、‘cpython’、‘dotcpp’四个元素,我们使用‘[abc]python’可以直接匹配到前面三个元素。

        2)  [a-zA-Z0-9]

        这个可以匹配一个任意大小写字母或者数字,等同于\w。

        3) 重复 {}

        如果我们使用{n},即‘pyt{}on’,只能匹配到python,使用{n,}可以匹配至少n次,使用{n,m}可以匹配至少n次,最多m次。

        4)  开始于结束字符

        使用‘^’和‘$’可以匹配一行字符串的开始和结束。

        5)  a|b

        可以匹配a或者b。

        6)  匹配出现次数

        语法格式如下:

import re
s = '1234567'
p1 = r'\d?'
print(re.search(p1,s))

        可以改为\d*或\d{2,3}或d+等来进行匹配。

        输出结果为:

<re.Match object; span=(0, 1), match='1'>

        由于‘?’为匹配0次或一次,所以匹配了出现数字一次。

    3. 总结

        本节我们主要总结了正则表达式里的元字符及几种常用的功能,这些元字符在我们后续的学习中会涉及到,大家可以回过头来参考本节的内容

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!