2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Python+RE(正则表达式)方法的简单应用

Python+RE(正则表达式)方法的简单应用

时间:2022-12-28 22:23:51

相关推荐

Python+RE(正则表达式)方法的简单应用

# 正则表达式

前面HTML中已经讲解了RE的表示方式,此处不再累赘。需要可返回阅读:

- 一套规则,可以在字符串文本中进行搜查替换等- 正则常用方法:- match:从开始位置开始查找,一次匹配 - search:从任何位置查找,一次匹配 - findall: 全部匹配,返回列表 - finditer:全部匹配,返回迭代器 - split: 分割字符串,返回列表 - sub: 替换- 匹配中文 - 中文unicode范围主要在[u4e00-u9fa5] 案例28- 贪婪,非贪婪模式 - 贪婪模式:尽可能多的匹配 - 非贪婪模式:尽可能少的匹配 - python里,默认为贪婪模式 - 例子:正则:ab* abbbbbbcccccc - 贪婪模式:abbbbbb - 非贪婪模式:a

实例1.group和span方法

import res = r([a-z]+) ([a-z]+)pattern = pile(s, re.I) # I标志忽略大小写m = pattern.match("Hello world wide web")# 表示返回匹配成功的整个子串s = m.group(0)print(s)# 返回匹配成功,整个子串的跨度a = m.span(0)print(type(a))print(a)# 表示第一个分组的匹配成功的子串s = m.group(1)print(s)# 表示第二个分组的匹配成功的子串的跨度s = m.span(1)print(s)# 等价(m.group(1),m.group(2))s = m.groups()print(s)

实例2.findall和finditer方法

import re\findall\s = r\d+pattern = pile(s)m = pattern.findall("i am 18 years old and 185 height")print(m)m = pattern.finditer("i am 18 years old and 185 height")print(type(m))for i in m:print(i.group())

实例3.中文\u4e00-\u9fa5的提取。

import re\findall\hello = u您好,世界!s = r[\u4e00-\u9fa5]+pattern = pile(s)m = pattern.findall(hello)print(m)

实例4.search方法的应用

import re\search\s = r\d+pattern = pile(s)m = pattern.search("one12two34three56")print(m.group())# 从第10下标到40下标个之间搜索m = pattern.search("one12two34three56", 10, 40)print(m.group())

想了解更多精彩内容,快来关注Python学习交流

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。