python正则表达式
来源:互联网 发布:杭州贰贰网络 编辑:程序博客网 时间:2024/06/16 11:59
暑假学习python一些基础语法后,没有什么方向,小白准备开始探索爬虫了。
正则表达式模式
模式字符串使用特殊的语法来表示一个正则表达式:
字母和数字表示他们自身。一个正则表达式模式中的字母和数字匹配同样的字符串。
多数字母和数字前加一个反斜杠时会拥有不同的含义。
标点符号只有被转义时才匹配自身,否则它们表示特殊的含义。
反斜杠本身需要使用反斜杠转义。
由于正则表达式通常都包含反斜杠,所以你最好使用原始字符串来表示它们。模式元素(如 r’\t’,等价于 ‘\t’)匹配相应的特殊字符。
下表列出了正则表达式模式语法中的特殊元素。如果你使用模式的同时提供了可选的标志参数,某些模式元素的含义会改变。
正则表达式30分钟入门教程
正则表达式修饰符 - 可选标志
正则表达式可以包含一些可选标志修饰符来控制匹配的模式。修饰符被指定为一个可选的标志。多个标志可以通过按位 OR(|) 它们来指定。如 re.I | re.M 被设置成 I 和 M 标志:
正则表达式实例
字符匹配
字符类
特殊字符类
正则表达式符号使用小总结:
1、[ ]:方括号。匹配需要的字符集合,如[1-3]或[123]都是匹配1、2或者3。
2、^:脱字符号。方括号中加入脱字符号,就是匹配未列出的所有其他字符,如[^a]匹配除a以外的所有其他字符。
3、\:反斜杠。和python字符串使用规则一样,可以匹配特殊字符本身,如\d表示匹配0到9的任意一个数字字符,而\d则表示匹配\d本身。
4、*:星号。匹配前一个字符0到n次,如pytho*n可以匹配pythn、pytoon、pythooooon等。还有其它匹配重复字符的如?、+或{m,n},其中{n,m}可以灵活使用,它表示匹配n次到m次。
Python3 正则表达式
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。
Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。
re 模块使 Python 语言拥有全部的正则表达式功能。
compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。
re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。
本章节主要介绍Python中常用的正则表达式处理函数。
re.match函数
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
函数语法:
re.match(pattern, string, flags=0)
pattern: 匹配的正则表达式
string:要匹配的字符串。
flags :标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
匹配成功re.match方法返回一个匹配的对象,否则返回None。
我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。
实例 1:
# -*- coding: UTF-8 -*- import reprint(re.match('www', 'www.runoob.com').span()) # 在起始位置匹配print(re.match('com', 'www.runoob.com')) # 不在起始位置匹配
以上实例运行输出结果为:
(0, 3)None
实例 2:
#!/usr/bin/python3import reline = "Cats are smarter than dogs"matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)if matchObj: print ("matchObj.group() : ", matchObj.group()) print ("matchObj.group(1) : ", matchObj.group(1)) print ("matchObj.group(2) : ", matchObj.group(2))else: print ("No match!!")
以上实例执行结果如下:
matchObj.group() : Cats are smarter than dogsmatchObj.group(1) : CatsmatchObj.group(2) : smarter
- python正则表达式学习
- c++正则表达式,python
- Python正则表达式(一)
- python的正则表达式
- Python正则表达式
- Python初学-正则表达式
- 正则表达式与python
- python正则表达式学习
- python正则表达式学习
- python正则表达式学习
- python正则表达式
- Python - 正则表达式
- Python正则表达式
- python正则表达式
- Python正则表达式指南
- Python正则表达式指南
- Python 正则表达式指南
- python 正则表达式
- 图像类型的转换
- 观察者模式应用场景实例
- Oracle12C--操作类中的其他结构(65)
- Python正则表达式
- 从尾到头打印链表
- python正则表达式
- 班级成员表
- 【转】Linux下文件属性(drwxr-xr-x)详解以及(-rwxrwxrwx=777)
- 【多线程简单实例】_beginthreadx实现
- 第一周集训小结
- C++类和对象及其默认成员函数
- 矩阵和向量numpy
- 火爆的NB-IoT还是迷人的LoRa, 物联网的终极PK?
- NHibernate与MySQL数据库交互(类和表的映射)