python正则表达式例题_python—正则表达式实例
#match函数应用
import re
print(re.match("done|quit",'d!one!done'))
print(re.match("\dcom","www.4comrunoob.5com"))
#search函数应用
import re
print(re.search("done|quit",'d!one!done'))
print(re.search("\dcom","www.4comrunoob.5com"))
import re
result=re.search(r"(\w)(?!.*\1)","abc@cslg.edu.cn")
print(result)
#match对象使用,一般情况的子模式,例1
import re
m=re.match(r"(\w+) (\w+)", "Isaac Newton, physicist")
print(m.group(0))
print(m.group(1))
print(m.group(2))
print(m.group(1,2))
m=re.match(r"(\w+) \1", "Isaac Isaac, physicist")
print(m.group(0))
#match对象使用,一般情况的子模式,例2
import re
m=re.match(r"(\d+)\.(\d+)","24.556")
print(m.groups())
print(m.group(0),m.group(1),m.group(2))
#match对象使用,命名子模式,例1
import re
m=re.match(r"(?P\w+)(?P\w+)", "Isaac Newton, physicist")
print(m.groupdict())
print(m.group())
print(m.group("first_name"))
print(m.group("last_name"))
print(m.groups())
print(m.group(0),m.group(1),m.group(2))
#match对象使用,命名子模式,例2
m = re.match(r"(?P\w+) (?P\w+)", "Malcolm Reynolds")
print(m.groupdict())
#findall函数,直接用re模块
import re
s="aabc abcd abbcd aacd"
print(re.findall("aa",s))
s = 'aabc abcd abbcd abccd abcdd'
print(re.findall(r"(\b\w*(?P\w+)(?P=f)\w*\b)",s))
import re
result=re.findall(r"(\w)(?!.*\1)","abc@cslg.edu.cn")
print(result)
#findall函数,正则表达式对象
import re
tt="Tina is a good girl, she is cool, clever, and so on..."
pattern=re.compile(r"\w*oo\w*")
print(pattern.findall(tt))
s = 'aabc abcd abbcd abccd abcdd'
print(re.findall(r"(\b\w*(?P\w+)(?P=f)\w*\b)",s))
#finditer函数,直接用re模块
import re
s="aabc abcd abbcd aacd"
print(re.finditer("aa",s))
iter_re=re.finditer("aa",s)
for item in iter_re:
print(item.group(0),item.group(),item.groups(),item.groupdict())
s = 'aabc abcd abbcd abccd abcdd abab'
print(re.findall(r"(\b\w*(?P\w)(?P=f)\w*\b)",s))
iter_re=re.finditer(r"(\b\w*(?P\w)(?P=f)\w*\b)",s)
for item in iter_re:
print(item.group(),item.group(0),item.groups(),item.groupdict())
#re模块处理字符串,split函数
import re
text="alpha. beta....gamma delta"
result=re.split('[\.]+',text)
print(result)
result=re.split('[\.]+',text,maxsplit=2)
print(result)
result=re.split('[\.]+',text,maxsplit=1)
print(result)
result=re.split("\.+|\s","hello world...d.t",2)
print(result)
result=re.split("\.+|\s","hello world...d.t",3)
print(result)
import re
result=re.match(r"\d{1,3}-\d{1,3}-\d{1,3}-\d{1,3}","111-234-455-233")
print(result)
if result!=None:
print(result.group(0))
#字符串的替换,sub
import re
a=re.sub(r'\w+','10',"ji 43 af,geq",2,flags=re.I)
exp=re.compile(r'\w+',re.I)
b=exp.sub('10',"ji 43 af,geq")
print(a)
print(b)
#re模块处理字符串,sub
import re
pat='{name}'
text="Dear {name}..."
result=re.sub(pat,'Mr.Dong',text)
print(type(result),result)
s="a s d"
result=re.sub('a|s|d',"good",s)
print(result)
result=re.sub("\.+|\s","#", "hello world...d.t",3)
print(result)
#re模块处理字符串,sub
s="It's a very good good idea"
result=re.sub(r"(\b\w+) \1", r"\1",s)
print(result)
result=re.sub(r"((\w+) )\1", r"\2",s)
print(result)
print(re.findall('a','aaa abc abcd'))
result=re.sub('a',lambda x:x.group(0).upper(),'aaa abc abcd')
print(result)
result=re.sub('[a-z]',lambda x:x.group(0).upper(),'aaa abc abcd')
print(result)
result=re.sub('[a-zA-Z]',lambda x:chr(ord(x.group(0))^32),'aaa abc Abcd')
print(result)
result=re.subn('a','dfg','aaa abc adde')
print(result)
result=re.sub('a','dfg','aaa abc adde')
print(result)
result=re.escape('http://www.python.org')
print(result)
#例:去除多余的空格
import re
s="aaa bb c d e fff "
print(" ".join(s.split()))
import re
print(" ".join(re.split('\s+',s.strip())))
print(" ".join(re.split('[\s]+',s.strip())))
print(re.sub('\s+'," ",s.strip()))
#删除字符串中的指定内容
import re
email="tony@tiremove_thisger.net"
m=re.search("remove_this",email)
print(email[:m.start()]+email[m.end():])
print(re.sub("remove_this","",email))
print(email.replace("remove_this",""))
#贪心和非贪心搜索
import re
email="Beautiful is better than ugly."
lst=re.findall("\\bb.+?\\b",email)
print(lst)
lst=re.findall("\\bb.+\\b",email)
print(lst)
lst=re.findall("\\bb\w*\\b",email)
print(lst)
lst=re.findall("\\Bh.+?\\b",email)
print(lst)
lst=re.findall("\\b\w.+?\\b",email)
print(lst)
lst=re.findall("\w+",email)
print(lst)
lst=re.findall(r"\b\w.+?\b",email)
print(lst)
result=re.split('\s',email)
print(result)
result=re.findall("\d+\.\d+\.\d+","python 2.7.13")
print(result)
result=re.findall("\d+\.\d+\.\d+","python 2.7.13, python 3.6.0")
print(result)
#网页匹配
import re
s="
This is headThis is a body"
pattern=r'
(.+)(.+)'
result=re.search(pattern,s)
print(result.groups())
print(result.group(0),result.group(1),result.group(2))
#使用正则表达式提取电话号码
import re
text = "Suppose my Phone No. is 0535-1234567, yours is 010-12345678, his is 025-87654321."
result=re.findall(r"(\d{3,4})-(\d{7,8})",text)
print(result)
for item in result:
print(item[0],item[1],sep="-")
#使用正则表达式查找文本中最长的数字字符
import re
def logest1(s):
t=re.findall("\d+",s)
if t:
return max(t,key=len)
return "no"
def logest2(s):
t=re.split("[^\d]+",s)
if t:
return max(t,key=len)
return "no"
print(logest1("hehe3455cat343535355"))
print(logest2("hehe3455cat343535355"))
import re
def reverse_new(s):
t=re.split("\s+",s.strip())
t.reverse()
return " ".join(t)
print(reverse_new("I like beijing."))
print(reverse_new('Simple is better than complex.'))
import re
a=re.sub(r'\w+','10',"ji 43 af,geq",2,flags=re.I)
exp=re.compile(r'\w+',re.I)
b=exp.sub('10',"ji 43 af,geq")
print(a)
print(b)
import re
print(re.match('com','Conwww.runcomoob'))
print(re.match('com','Comwww.runcomoob',re.I))
print(re.match(r'\w+com\w*','Comwww.runcomoob',re.I))
print(re.search(r'\w+com\w*','Comwww.runcomoob',re.I))
print(re.findall('com','Comwww.runcomoob',re.I))
python正则表达式例题_python—正则表达式实例相关推荐
- python正则表达式操作指南_Python正则表达式操作指南
原文作者:A.M. Kuchling (amk@amk.ca) 翻译人员:FireHare 校对人员:Leal 适用版本:Python 1.5 及后续版本 摘要 本文是通过Python的 re 模块来 ...
- python正则表达式指南_Python正则表达式指南(转)
1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...
- python 正则表达式方法_Python正则表达式一: 基本使用方法
学习python的正则表达式,主要有两个方面学习: 第一,学习如何写正则表达式,主要是掌握其语法规范.正则表达式的语法规范是通用的,对各种开发语言都是一致的. 第二,学习如何使用正则表达式,也就是掌握 ...
- python正则表达式模块_Python正则表达式函数模块
今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍python中常用的正则表达式处理函数. 方法/属性 作用 match() 决定 R ...
- python正则匹配_Python正则表达式只匹配一次
我正在尝试创建一个简单的降价乳胶转换器,只是为了学习 python和基本的正则表达式,但我不知道试图弄清楚为什么下面的代码不起作用: re.sub (r'\[\*\](.*?)\[\*\]: ?(.* ...
- python正则表达式代码_python正则表达式的使用(实验代码)
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python ...
- python 正则表达式生成_python正则表达式
字符串是我们在编程的时候经常用到的一种数据类型,检查会在字符串里面查找一些内容,对于比较简单的查找,字符串的一些内置的方法就可以处理,对于比较复杂的字符串,或者有一些内容经常变化的字符串查找,那么我们 ...
- python 正则表达式判断_Python 正则表达式
跟随练习: import re original_string = r"ABC\-001" rexp_string = r'\w{3}\\\-\d{3}' result = re. ...
- python正则表达式案例_Python正则表达式使用经典实例
regex=ur"" #正则表达式 match = re.search(regex, subject) if match: # match start: match.start() ...
最新文章
- 年化收益14%的投资机会,出手吗?
- 管理就16个字!做不到,就走人!
- Oracle根据日期计算某月的天数
- NLP-基础知识-001
- 经济学家告诉你,胸越大的女生越会花钱!
- java双语试卷_Java程序设计基础(双语)试题题目及答案,课程2021最新期末考试题库,章节测验答案...
- 基于Matlab的跨孔电磁波\跨孔雷达的胖射线追踪(一)
- 《Linux内核原理与分析》第五周作业
- echarts x轴坐标文字显示不全
- 技术要扎扎实实的做,业余功夫也要修炼
- 绘制相同到期日欧式期权组合收益图(python)
- 设备树使用手册【转】
- Shake Shack上海第7家门店开业
- python nltk book_自然语言处理(1)之NLTK与PYTHON
- 【C】2、C语言介绍
- 淘宝 模拟 登录 总结 【QQ 346767073 】
- 苹果Arcade订阅常见问题
- Conda——报错解决:CondaError: Cannot write to /.condarc Caused by PermissionError(13, ‘Permission denied‘)
- 【人才盘点九宫格】你还不来学一学人才九宫格,知道领导在做人才梯度结构盘点时把你划分为属于哪一类人才吗?
- 警惕!最新勒索病毒incaseformat来袭!清除方法如下!
热门文章
- 从顶点覆盖(Vertex Cover)到碰撞集(Hitting Set)的归约
- Git从远程仓库取代码
- 计算机类sci期刊影响因子排名,【科研】全球最新SCI期刊影响因子排名:第一名187.040!...
- 如何查SCI期刊的影响因子与排名
- 计算机网络技术实验TCP,计算机网络实验3TCP实验
- 韩 天峰:关于PHP程序员技术职业生涯规划
- itpt_TCPL 第二章:类型、运算符以及表达式
- Anima Toon:体素角色动画软件
- 安卓篇-我自己的第一个安卓程序(附源码链接)
- 麒麟座V3.1接入OneNET平台初体验--上传温湿度