目录

详细可参考http://funhacks.net/2016/12/27/regular_expression/

1.区分贪婪匹配和非贪婪匹配

2.re的compile方法和re function

3.带表达式的正则表达式

4.groups与group

5.匹配规则



详细可参考http://funhacks.net/2016/12/27/regular_expression/

1.区分贪婪匹配和非贪婪匹配

2.re的compile方法和re function

以findall为例:

3.带表达式的正则表达式

for target in targets:
        result[target]=re.search(r'<tr id="places_%s__row">.*?<td class="w2p_fw">(.*?)</td>' % target, html).groups()[0]

target就是一个表达式

4.groups与group

group和groups是两个不同的函数。

一般,m.group(N) 返回第N组括号匹配的字符。
而m.group() == m.group(0) == 所有匹配的字符,与括号(用来分组的)无关,这个是API规定的。

m.groups() 返回所有括号匹配的字符,以tuple格式。如果没有括号分组m.groups()就没有返回值
m.groups() == (m.group(1), m.group(2), ...)

或者m.groups()[0] == m.group(1),m.groups()[1] == m.group(2)

  • 括号匹配实例:

下面search有两个括号,括号是用来分组的

str_test='<tr id="places_area__row"><td class="w2p_fl"><label class="readonly" for="places_area" id="places_area__label">Area: </label></td><td class="w2p_fw">7,686,850 square kilometres</td>'

result=re.search(r'<tr id="places_area__row">.*?<td class="(w2p_fw)">(.*?)</td>',str_test)

result.group():
'<tr id="places_area__row"><td class="w2p_fl"><label class="readonly" for="places_area" id="places_area__label">Area: </label></td><td class="w2p_fw">7,686,850 square kilometres</td>'

result.groups()
('w2p_fw', '7,686,850 square kilometres')

result.group(1):
'w2p_fw'

result.group(2)
'7,686,850 square kilometres'

result.groups()[0]
'w2p_fw'

result.groups()[1]
'7,686,850 square kilometres'

5.匹配规则

正则表达式有多种不同的风格,下表列出了适用于 Python 或 Perl 等编程语言的部分元字符以及说明:

Python 正则表达式 re模块 groups/group相关推荐

  1. python 正则表达式re 模块的使用

    python 正则表达式re 模块的使用 文章目录: 一.re模块介绍 1.re模块说明 2.官方文档给出的文档 3.别人总结的成表格中的内容 二.re模块使用介绍 1.常用函数源码 1.常用的函数介 ...

  2. python中re模块的span,详解Python正则表达式re模块

    正则是处理字符串最常用的方法,我们编码中到处可见正则的身影. 正则大同小异,python 中的正则跟其他语言相比略有差异: 1.替换字符串时,替换的字符串可以是一个函数 2.split 函数可以指定分 ...

  3. python正则表达式re模块之findall函数

    python正则表达式re模块之findall函数 1. re.findall函数介绍 2. findall函数捕获分组 3. re.findall中正则表达式(.*?) 4. re.findall中 ...

  4. Python 正则表达式re模块的使用

    Python 正则表达式re模块的使用 基本上所有的编程语言都会有正则表达式,正则表达式是用来匹配一段字符串的表达式. 在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用内置模块re. ...

  5. Python正则表达式re模块简明笔记

    简介 正则表达式(regular expression)是可以匹配文本片段的模式.最简单的正则表达式就是普通字符串,可以匹配其自身.比如,正则表达式 'hello' 可以匹配字符串 'hello'. ...

  6. python正则表达式——re模块

    参考:python文档re --- 正则表达式操作 - Python 3.10.0 文档 目录 1.整体了解 2. 语法 3. re.match 4. re.search re.match与re.se ...

  7. Python正则表达式-re模块奇技淫巧

    文章目录 正则表达式 概念 构成 re模块应用 常用正则表达式 数字 字符 其他 小结 正则表达式 概念 正则表达式作为计算机科学的一个概念,通常被用来检索.替换那些符合某个规则的文本.正则表达式是对 ...

  8. python——正则表达式(re模块)详解

    在Python中需要通过正则表达式对字符串进⾏匹配的时候,可以使⽤⼀个python自带的模块,名字为re. 正则表达式的大致匹配过程是: 1.依次拿出表达式和文本中的字符比较, 2.如果每一个字符都能 ...

  9. 详细解析python正则表达式re模块

    本篇文章给大家带来了关于python的相关知识,其中主要介绍了关于正则表达式中re模块的相关问题,下面一起来看一下,希望对大家有帮助. 在Python中需要通过正则表达式对字符串进⾏匹配的时候,可以使 ...

  10. python正则表达式需要模块_使用Python正则表达式模块,让操作更加简单

    处理文本数据的一个主要任务就是创建许多以文本为基础的特性. 人们可能想要在文本中找出特定格式的内容,比如找出存在于文本中的电子邮件,或者大型文本中的电话号码. 虽然想要实现上述功能听起来很繁琐,但是如 ...

最新文章

  1. ST为飞行时间传感器增加了多目标测距
  2. 使用postman修改SAP Marketing Cloud contact主数据
  3. 智能车竞赛秘书处与RT-Thread关于第十七届智能车竞赛第一次会议
  4. Xamarin.iOS编译出错
  5. IAR编译提示could not open file lnkstm8s003f3.icf
  6. asynchronous-logging-with-log4j-2--转
  7. 跳出小程序 video组件 卡顿、黑屏、全屏等坑
  8. matlab绘制二元一次函数图像_【八上数学】 一次函数必考知识点(下)
  9. 优酷 米兔机器人_小米(MI)米兔故事机智能故事机机器人智能机器人儿童早教机...
  10. 使用EntityFramework Core和Enums作为字符串的ASP.NET Core Razor页面——第三部分
  11. 【Win 10应用开发】认识一下UAP项目
  12. 新特性AAtitti css3 新特性attilax总结titti css
  13. 如何分析加上SE壳的.net程序
  14. 数字信号处理——CFAR检测器设计(1)
  15. 论文格式排版技巧(word版)
  16. 分享两款免费的-思维导图-Freeplane-Setup,百度脑图
  17. 【定积分】基本知识点+考点
  18. 代码读智识  笔墨知人心
  19. 根据显卡型号查看相应的驱动
  20. java制作手机投射电脑_将Android手机投影到Win10计算机的最简单教程

热门文章

  1. 手机上怎样转变图片格式?教你一键快速转格式
  2. mysql pdo连接不上_通过PDO连不上数据库
  3. macos虚拟机鼠标不能移动和键盘不能使用
  4. #define 和 #typedef , const的区别
  5. 做短视频的几个小技巧,助你吸粉引流
  6. arduino教程【实战篇】
  7. 制作基于WiFi局域网的自动开门装置2.0(Arduino+微信小程序)
  8. 使用WebService获取第三方服务数据
  9. SolidWorks转3DMAX再到Unity3D的转换模型及单位设置
  10. ( cf1249 )Codeforces Round #595 (Div. 3)部分题解