Theme-Logo
    • 通知公告
  • [登录]/[注册]
  • D 返回首页
python3编程学习
  • 基础教程
    • 初识python
    • 语法特点
    • 输入输出
    • 运算符+
    • 数据类型
    • 类型转换
    • 条件控制
    • 循环语句
    • 函数详解
    • 面向对象
    • 模块详解
    • File(文件)
    • 字符串初级
    • 字符串进阶
    • 错误和异常
  • 高级教程
    • 数据库深操作
    • web网站开发
    • GUI界面开发
    • 网络爬虫开发
    • 游戏高级开发

正则表达式

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。
  • 返回首页

Python3 正则表达式

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

在 Python 中,使用 re 模块来处理正则表达式。

re 模块提供了一组函数,允许你在字符串中进行模式匹配、搜索和替换操作。

re 模块使 Python 语言拥有完整的正则表达式功能。 

本章节主要介绍 Python 中常用的正则表达式处理函数,

re.match函数

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 None。

函数语法:

re.match(pattern, string, flags=0)

函数参数说明:

pattern:匹配的正则表达式

string:要匹配的字符串。

flags:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

匹配成功 re.match 方法返回一个匹配的对象,否则返回 None。

我们可以使用 group(num) 或  groups() 匹配对象函数来获取匹配表达式。

group(num=0):匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。

groups():返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。

#!/usr/bin/python
 
import re
print(re.match('www', 'www.mbzhu.net').span())  # 在起始位置匹配
print(re.match('net', 'www.mbzhu.net'))         # 不在起始位置匹配

以上实例运行输出结果为:

(0, 3)
None
#!/usr/bin/python3
import re
 
line = "Cats are smarter than dogs"
# .* 表示任意匹配除换行符(\n、\r)之外的任何单个或多个字符
# (.*?) 表示"非贪婪"模式,只保存第一个匹配到的子串
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 dogs
matchObj.group(1) :  Cats
matchObj.group(2) :  smarter

re.search方法

re.search 扫描整个字符串并返回第一个成功的匹配。

函数语法:

re.search(pattern, string, flags=0)

函数参数说明:

    本文未完全显示,开通会员查看全文......

回顶部