ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

华为架构师详解Python 正则表达式

2021-05-08 16:52:02  阅读:172  来源: 互联网

标签:匹配 Python group 查找 详解 分组 贪婪 字符串 架构师


正则表达式

用来处理字符串,对字符串进行检索和替换,另外正则在python爬虫的应用也是相当广泛! 

特点

  • 灵活性、逻辑性和功能性非常强 
  • 可以迅速地用极简单的方式达到字符串的复杂控制
  • 有需要相关python资料的小伙伴可以加我vx:ssmp8858欢迎来骚扰我

正则的写法

  • .(点号): 表示任意一个字符,除了\n,比如查找所有的一个字符 .
  • []: 匹配中括号中列举的任意字符,比如[L,Y,0], LLY, Y0, LIU
  • \d: 任意一个数字
  • \D: 除了数字都可以
  • \s: 表示空格,tab键
  • \S: 除了空白符号
  • \w: 单词字符,就是a-z, A-Z, 0-9, _
  • \W: 除了“\w”表示的都可以
  • : 表示前面内容重复零次或者多次, \w
  • +: 表示前面内容至少出现一次
  • ?: 前面才出现的内容零次或者一次
  • {m,n}: 允许前面内容出现最少m次,最多n次
  • ^: 匹配字符串的开始
  • $: 匹配字符串的结尾
  • \b: 匹配单词的边界
  • (): 对正则表达式内容进行分组,从第一个括号开始,编号逐渐增大

  • \A: 只匹配字符串开头,\Aabcd, 则abcd
  • \Z: 只匹配字符串末尾,abcd\Z, abcd
  • |: 左右任意一个
  • (?P...): 分组,除了原来的编号再制定一个别名,(?P12345){2}, 1234512345
  • (?P=name): 引用分组

RE使用大致步骤

  1. 使用compile将表示正则的字符串编译为一个pattern对象
  2. 通过pattern对象提供一系列方法度文本进行查找匹配,获得匹配结果,一个Match对象
  3. 最后使用Match对象提供的属性和方法获得信息,根据需要进行操作

RE常用函数

  • group(): 获得一个或者多个分组匹配的字符串,当要获得整个匹配的子串时,直接使用group或者group(0)
  • start: 获取分组匹配的子串在整个字符串中的起始位置,参数默认0
  • end: 获取分组匹配的子串在整个字符串中的结束位置,默认为0
  • span: 返回的结构技术(start(group), end(group))

 

 

 

 

 

 

  • search(str, [, pos[, endpos]]): 在字符串中查找匹配,pos和endpos表示起始位置
  • findall: 查找所有
  • finditer:查找,返回一个iter结果

sub 替换

  • sub(rep1, str[, count])

匹配中文

  • 大部分中文表示范围是[u4e00-u9fa5], 不包括全角标点

贪婪和非贪婪

  • 贪婪:尽可能多的匹配, (*)表示贪婪匹配
  • 非贪婪:找到符合条件的最小内容即可,(?)表示非贪婪
  • 正则默认使用贪婪匹配

 

标签:匹配,Python,group,查找,详解,分组,贪婪,字符串,架构师
来源: https://blog.51cto.com/u_15194268/2762054

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有