Python常用的正则表达式处理函数

Python常用的正则表达式处理函数

正则表达式是一个特殊的字符序列,用于简洁表达一组字符串特征,检查一个字符串是否与某种模式匹配,使用起来十分方便。

在Python中,我们通过调用re库来使用re模块:

import re

下面介绍Python常用的正则表达式处理函数。

re.match函数

re.match 函数从字符串的起始位置匹配正则表达式,返回match对象,如果不是起始位置匹配成功的话,match()就返回None。

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

pattern:匹配的正则表达式。

string:待匹配的字符串。

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

import re
#从起始位置匹配
r1=re.match(‘abc‘,‘abcdefghi‘)
print(r1)
#不从起始位置匹配
r2=re.match(‘def‘,‘abcdefghi‘)
print(r2)

运行结果:

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

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

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

import re

s=‘This is a demo‘
r1=re.match(r‘(.*) is (.*)‘,s)
r2=re.match(r‘(.*) is (.*?)‘,s)

print(r1.group())
print(r1.group(1))
print(r1.group(2))
print(r1.groups())
print()
print(r2.group())
print(r2.group(1))
print(r2.group(2))
print(r2.groups())

运行结果:

上述代码中的(.*)和(.*?)表示正则表达式的贪婪匹配与非贪婪匹配,详情见此:https://blog.csdn.net/lxcnn/article/details/4756030

re.search函数

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

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

pattern:匹配的正则表达式。

string:待匹配的字符串。

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

import re
#从起始位置匹配
r1=re.search(‘abc‘,‘abcdefghi‘)
print(r1)
#不从起始位置匹配
r2=re.search(‘def‘,‘abcdefghi‘)
print(r2)

运行结果:

使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。匹配成功re.search方法返回match对象,否则返回None。

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

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

import re

s=‘This is a demo‘
r1=re.match(r‘(.*) is (.*)‘,s)
r2=re.match(r‘(.*) is (.*?)‘,s)

print(r1.group())
print(r1.group(1))
print(r1.group(2))
print(r1.groups())
print()
print(r2.group())
print(r2.group(1))
print(r2.group(2))
print(r2.groups())

运行结果:

从上面不难发现re.match与re.search的区别:re.match只匹配字符串的起始位置,只要起始位置不符合正则表达式就匹配失败,而re.search是匹配整个字符串,直到找到一个匹配为止。

原文地址:https://www.cnblogs.com/BIXIABUMO/p/12041544.html

时间: 2024-10-06 18:23:38

Python常用的正则表达式处理函数的相关文章

Python中re(正则表达式)模块函数学习

今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍Python中常用的正则表达式处理函数. 方法/属性 作用 match() 决定 RE 是否在字符串刚开始的位置匹配 search() 扫描字符串,找到这个 RE 匹配的位置 findall() 找到 RE 匹配的所有子串,并把它们作为一个列表返回 finditer() 找到 RE 匹配的所有子串,并把它们作为一个迭代器返回 match() 函数只检查 RE 是否在字符串开始处匹配

Python常用模块——正则表达式re模块

Python常用模块--正则表达式re模块 引子 请从以下文件里取出所有的手机号 姓名 地区 身高 体重 电话 况咏蜜 北京 171 48 13651054608 王心颜 上海 169 46 13813234424 马纤羽 深圳 173 50 13744234523 乔亦菲 广州 172 52 15823423525 罗梦竹 北京 175 49 18623423421 刘诺涵 北京 170 48 18623423765 岳妮妮 深圳 177 54 18835324553 贺婉萱 深圳 174 5

Python_常用的正则表达式处理函数

正则表达式就是用查找字符串的,它能查找规则比较复杂的字符串反斜杠:正则表达式里面用"\"作为转义字符. 1 s='<a class="h3" href=""><b>python学习笔记</b></a>' 2 3 print(re.findall(r'\<a class\=\"h3\" href\=\"\"><b>(.*)\<\/b

Python基础 ---(5)Python常用的内置函数

1. abs( )函数返回数字的绝对值. print( abs(-45)) # 返回 45print("abs(0.2):",abs(0.2)) # 返回 abs(0.2): 0.2 2. all( ) 函数用于判断给定的参数中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False.元素除了是 0.空.None.False 外都算 True:空元组.空列表返回值为True. print( all( [0.1,1,-1] ) ) # 返回 True print( all

python常用的正则表达式,持续更新&lt;&lt;

# -*- coding: utf-8 -*- import re str_0 = 'Aqin1012Heheheaaaaaaahehe如何da' def re_str(re_str_0,str_0): test=re.match(re_str_0, str_0) if test: print("匹配成功~") print(test.group(0)) # group()函数 提取以()分组的字符串 group(0):整体 group(1):第一个括号匹配部分:以此类推 else: p

python常用的高阶函数

1. filter fliter()函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换.接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中. filter(function, iterable) 1 def is_odd(n): 2 return n % 2 == 1 3 4 tmplist = filter(is_odd, [

Python基础学习笔记(七)常用元组内置函数

参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-tuples.html 3. http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000 Python常用元组内置函数: 序号 方法及描述 1 cmp(tuple1, tuple2)比较两个元组元素. 2 len(tuple)计算元组元素个数. 3 max(tuple)

1.22 Python基础知识 - 正则表达式

Python正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换. re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数. 本章节主要介绍Pyt

python re(正则表达式)模块

今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍Python中常用的正则表达式处理函数. re.match re.match 尝试从字符串的开始匹配一个模式,如:下面的例子匹配第一个单词. import retext = "JGood is a handsome boy, he is cool, clever, and so on..."m = re.match(r"(\w+)\s", text)i