我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python中的正则

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python中的正则

regex_lst = [

  ('字符组',),

  ('非打印字符',),

  ('特殊字符',),

  ('定位符',),

  ('限定符',),

  ('re模块',),

  ('分组命名',),

  ('或匹配',),

  ('贪婪匹配与惰性匹配',),

]

 

字符组

  [0-9]

  [a-z]

  [A-Z]

  [^a]

非打印字符

  \w     匹配字母,数字,下划线  word

  \s      匹配空字符          space

  \d   匹配数字           digit

特殊字符

  .        匹配除换行符 \n 之外的任何单字符

定位符

  ^  匹配字符串的开始位置

  $    匹配字符串的结尾位置

限定符

  *      0次或多次

  +     1次或多次

  ?     0次或1次

  {n}   n次

  {n,}  n次或多次

  {n,m}    n次至m次

 

re模块

  re_lst = [

    ('re.compile(regex)',),

    ('re.findall(pattern, str)',),

    ('re.finditer(pattern, str)',),

    ('re.search(pattern, str)',),

  ]

re.compile(regex)

1 import re
2 
3 """
4 re.compile(regex)
5     编译一个正则表达式模式,返回一个模式对象
6 """
7 regex = r'[a-z]'
8 pattern = re.compile(regex)

re.findall(pattern, str)

 1 import re
 2 
 3 """
 4 re.findall(pattern, str)
 5     返回所有满足匹配条件的结果,并放到列表中
 6 """
 7 regex = r'[a-zA-Z]+'
 8 s = 'Hello Python'
 9 pattern = re.compile(regex)
10 
11 lst = re.findall(pattern, s)
12 print(lst)    # ['Hello', 'Python']

re.finditer(pattern, str)

 1 import re
 2 
 3 """
 4 re.finditer(pattern, str)
 5     返回迭代器
 6     迭代器中每一个元素需要调用group(),得到结果
 7 """
 8 regex = r'[a-zA-Z]+'
 9 s = 'Hello Python'
10 pattern = re.compile(regex)
11 
12 iterator = re.finditer(pattern, s)
13 
14 print(iterator)    # <callable_iterator object at 0x000001FDB3F29BE0>
15 
16 for i in iterator:
17     print(i.group())

re.search(pattern, str)

 1 import re
 2 
 3 """
 4 re.search(pattern, str)
 5     返回满足匹配条件的第一个结果对象
 6 """
 7 regex = r'[a-zA-Z]+'
 8 s = 'Hello Python'
 9 pattern = re.compile(regex)
10 
11 obj = re.search(pattern, s)
12 
13 if obj:
14     print(obj.group())

分组命名

 1 import re
 2 
 3 """
 4 flags
 5     re.I    忽略大小写
 6     re.M    多行模式,改变^和$的行为
 7     re.S    .可以匹配任意字符,包括换行符
 8 """
 9 regex = r'<dd>.*?title="(?P<title>.*?)".*?</dd>'
10 s = '<dd><a href="#" title="Python中的正则">...</a></dd>'
11 pattern = re.compile(regex, re.S)
12 
13 iterator = re.finditer(pattern, s)
14 
15 for i in iterator:
16     print(i.group('title'))

或匹配

 1 import re
 2 
 3 """
 4 取消分组
 5     (?:)
 6 或匹配
 7     long|short
 8 """
 9 regex = r'www.(?:page|hopen).com'
10 s = 'www.hopen.com'
11 pattern = re.compile(regex)
12 
13 iterator = re.finditer(pattern, s)
14 
15 for i in iterator:
16     print(i.group())

贪婪匹配与惰性匹配

 1 import re
 2 
 3 
 4 def get_data(regex, s):
 5     pattern = re.compile(regex)
 6     obj = re.search(pattern, s)
 7     if obj:
 8         return obj.group()
 9 
10 
11 # 贪婪匹配
12 regex_greedy = r'<.*>'
13 # 惰性匹配
14 regex_lazy = r'<.*?>'
15 content = '<a href="#">...</a>'
16 
17 ret_1 = get_data(regex_greedy, content)
18 ret_2 = get_data(regex_lazy, content)
19 print(ret_1)    # <a href="">...</a>
20 print(ret_2)    # <a href="">

 

  

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python中的正则

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python中的正则

regex_lst = [  ('字符组',),  ('非打印字符',),  ('特殊字符',),  ('定位符',),  ('限定符',),  ('re模块',),  ('分组命名',),  ('或匹配',),  ('贪婪匹配与惰性匹配'
2023-01-30

Python中的正则表达式

正则表达式 是包含文本和特殊字符的字符串, 为高级的文本模式匹配, 抽取, 与文本形式的搜索和替换功能提供了基础Python通过标准库re模块来支持正则表达式模式匹配的两种方法完成匹配(模式匹配)搜索(search())匹配(match()
2023-01-31

python中正则的使用指南

上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去找内容,因为容易理解也方便,),而是正则用好用精通的很难(看过正则表的应该都知道,里面符号
2022-06-04

24. Python 正则

1.常用正则表达式python的正则网站:https://regex101.com/注释:分组(?P…)省略的部分就是正常的正则匹配,我们把匹配到的这个整体给赋一个变量名字name,在后续调用的时候,就方便多了2.re模块re模
2023-01-31

Python中正则表达式的用法

在这里跟大家分享一个Python编程过程中的小知识点——正则表达式!那正则表达式到底是什么呢?又是用来干什么的呢?正则表达式 是包含文本和特殊字符的字符串, 为高级的文本模式匹配, 抽取, 与文本形式的搜索和替换功能提供了基础Python通
2023-01-31

[转]python 正则匹配中文

python 正则匹配中文   由于 需求原因,需要匹配 提取中文,大量google下,并没有我需要的。花了一个小时大概测试,此utf8中文通过,特留文。   参考: http://hi.baidu.com/nivrrex/blog/ite
2023-01-31

【python正则】工作中常用的pyth

工作中常用的一些正则代码:01.用户名正则import re# 4到16位(字母,数字,下划线,减号)if re.match(r'^[a-zA-Z0-9_-]{4,16}$', "abwc"):  print("匹配")  02.整数正则i
2023-01-30

python 中正则表达式的使用

正则表达式(re)(Regular Expression)。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。在pytho
2023-01-31

Python的正则规则举例分析

这篇文章主要讲解了“Python的正则规则举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python的正则规则举例分析”吧!问题复现我们都知道,Python有个正则规则\w,几乎所有
2023-06-02

25. Python 正则(2)

1. re的matche方法和search方法match 方法match(string[, pos[, endpos]])string:匹配使用的文本,pos: 文本中正则表达式开始搜索的索引。及开始搜索string的下标endpos: 文
2023-01-31

python 正则匹配的re.sear

一个简单的使用re.search 匹配一个字符串中的关键字[root@localhost ~]# vim ceshi.py#!/usr/bin/env python#coding:utf-8import reerr=("stderr: 'P
2023-01-31

PYthon之正则 re

re模块是python中处理正在表达式的一个模块正则表达式知识储备:http://www.cnblogs.com/huamingao/p/6031411.html     正则表达式使用反斜杠" \ "来代表特殊形式或用作转义字符,这里跟P
2023-01-31

在python正则表达式中是怎样正确使用正则表达式

这篇文章将为大家详细讲解有关在python正则表达式中是怎样正确使用正则表达式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。现在我们已经看了一些简单的正则表达式,那么我们实际在 Python
2023-06-17

Python中正则表达式详解

基础篇 正则表达式在python中运用的非常多,因为他可以进行任意的匹配,可以匹配我们想要提取的信息。当我们接触正则的时候你就会知道正则的强大。正则有一个库re 在一些工程中我们会经常调用正则的库来做与匹配相关的问题。 字符串是编程时涉及到
2022-06-04

Python匹配中文的正则表达式

正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别
2022-06-04

Python中的正则表达式怎么用

这篇文章主要为大家展示了“Python中的正则表达式怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python中的正则表达式怎么用”这篇文章吧。1.正则表达式是什么很简单就是一种字符串匹配
2023-06-25

Python中的正则表达式有哪些

这篇文章给大家介绍Python中的正则表达式有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。什么是正则表达式?正则表达式(Regular Expression)通常被用来检索、替换那些符合某个模式(规则)的文本。此
2023-06-08

Python中使用正则表达式及正则表达式匹配规则详解

这篇文章主要介绍了Python中使用正则表达式以及正则表达式匹配规则,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-03-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录