Python正则表达式函数

正则表达式函数:正则表达式函数有:re.match()函数、re.search()函数、全局匹配函数、re.sub()函数

  • match():从头开始匹配

    string = "Poythonpty"
    pat = "p.*?y"
    pat1 = "y.*"
    rst = re.match(pat, string, re.I)
    rst1 = re.match(pat1, string, re.I)
    print(rst)
    print(rst1)

    打印结果:

   

  • search():任意地方匹配,从左到右提取一个结果

    string = "Poythonpty"
    pat = "p.*?y"
    rst = re.search(pat, string, re.I)
    print(rst)

    打印结果:

   

  • 全局匹配函数:全局匹配格式:re.compile(正则表达式).findall(数据)   
string = "PoythonptyohphyjkPdsy"
pat = "p.*?y"
rst = re.compile(pat, re.I).findall(string)
print(rst)

  打印结果:

  

  • 常见实例

  实例1:.com和.cn网址

  

string = "< a helf=‘https://www.baidu.com‘>百度首页</a>"
# pat = ‘http.*.com‘
pat = "[a-zA-Z]+:[^\s]*[.com|.cn]"  # [a-zA-Z]+ :任意字符开头  [^\s]* :非空字符多次匹配   [.com|.cn] :原子表中包含.com或.cn
result = re.compile(pat).findall(string)
print(result)

  打印结果:

  

  实例2:匹配电话号码

  

string = "shhgy020-876380287jku0768-8937690789e132514512012"
pat = "\d{4}-\d{7}|\d{3}-\d{8}|1\d{10}"
rst = re.compile(pat).findall(string)
print(rst)

  打印结果:

  

原文地址:https://www.cnblogs.com/CesareZhang/p/12148853.html

时间: 2024-10-08 04:36:40

Python正则表达式函数的相关文章

python正则表达式函数match()和search()的区别详解

match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找匹配, 也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none 例如: #! /usr/bin/env python # -*- coding=utf-8 -*- import re text = 'pythontab' m = re.ma

Python正则表达式Regular Expression基本用法

资料来源:http://blog.csdn.net/whycadi/article/details/2011046   直接从网上资料转载过来,作为自己的参考.这个写的很清楚.先拿来看看. 1.正则表达式re模块的基本函数. (1)findall函数的用法 findall(rule,target[,flag])是在目标字符串中找到符合规则的字符串.参数说明:rule表示规则,target表示目标字符串,[,flag]表示的是规则选项.返回的结果是一个列表.若没找到符合的,是一个空列表. 如: 因

python正则表达式re

1. 正则表达式简介 正则表达式并不是Python的一部分.在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别 只在于不同的编程语言实现支持的语法数量不同:但不被支持的语法通常是不常用的部分.python正则表 达式是用于文本匹配的强大工具,在源字符串中查找与给定的正则表达式相匹配的部分.一个正则表达式 是由字母.数字和特殊字符(括号.星号和问号等)组成. 正则表达式中的特殊字符:^      正则表达式的开始字符$      正则表达式的结束字符\w     匹配字母.数字.下划线,

python正则表达式详解

python正则表达式详解 正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能不一样,不过只要学会了任意一门语言的正则表达式用法,其他语言中大部分也只是换了个函数的名称而已,本质都是一样的.下面,我来介绍一下python中的正则表达式是怎么使用的. 首先,python中的正则表达式大致分为以下几部分: 元字符 模式 函数 re 内置对象用法 分组用

python 正则表达式基础

又一段时间没写博客了 最近一段时间在写pygame 又忽略了博客 今天因要帮朋友修改电影字幕 用到了正则表达式 重新学了一遍 发现还是得多练 才能算渐渐掌握 python 正则表达式 1.1介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大.得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同:但不用担心,不被支持

[ Python ] 正则表达式(1)

[ Python ] 正则表达式(1) 概念区分:搜索 ( Search ) 和 匹配 ( Match ) from re import search, match search("nana", "banana") # Search succeeds! search("bana", "banana") # Search succeeds! match("nana", "banana")

Python 正则表达式应用【转载】

将从正则表达式开始讲Python的标准库.正则表达式是文字处理中常用的工具,而且不需要额外的系统知识或经验.我们会把系统相关的包放在后面讲解. 正则表达式(regular expression)主要功能是从字符串(string)中通过特定的模式(pattern),搜索想要找到的内容. 语法 之前,我们简介了字符串相关的处理函数.我们可以通过这些函数实现简单的搜索功能,比如说从字符串“I love you”中搜索是否有“you”这一子字符串.但有些时候,我们只是模糊地知道我们想要找什么,而不能具体

Python——正则表达式(5)

本文译自官方文档: Regular Expression HOWTO 参考文章: Python--正则表达式(1) Python--正则表达式(2) Python--正则表达式(3) Python--正则表达式(4) 全文下载: Python正则表达式基础 ====================================================================================== 6.常见问题 正则表达式在应用中是非常强大的工具,但有时候它们并不能

Python正则表达式学习摘要及资料

摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2,4}? 只匹配 2 个 a. ^表示行的开头,^\d表示必须以数字开头. $表示行的结束,\d$表示必须以数字结束. 你可能注意到了,py也可以匹配'python'-->py;但是加上^py$就变成了整行匹配,就只能匹配'py'了,匹配'python'时,就什么也得不到. 参考表 正则表达式特殊序