#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—正则表达式实例相关推荐

  1. python正则表达式操作指南_Python正则表达式操作指南

    原文作者:A.M. Kuchling (amk@amk.ca) 翻译人员:FireHare 校对人员:Leal 适用版本:Python 1.5 及后续版本 摘要 本文是通过Python的 re 模块来 ...

  2. python正则表达式指南_Python正则表达式指南(转)

    1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...

  3. python 正则表达式方法_Python正则表达式一: 基本使用方法

    学习python的正则表达式,主要有两个方面学习: 第一,学习如何写正则表达式,主要是掌握其语法规范.正则表达式的语法规范是通用的,对各种开发语言都是一致的. 第二,学习如何使用正则表达式,也就是掌握 ...

  4. python正则表达式模块_Python正则表达式函数模块

    今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍python中常用的正则表达式处理函数. 方法/属性 作用 match() 决定 R ...

  5. python正则匹配_Python正则表达式只匹配一次

    我正在尝试创建一个简单的降价乳胶转换器,只是为了学习 python和基本的正则表达式,但我不知道试图弄清楚为什么下面的代码不起作用: re.sub (r'\[\*\](.*?)\[\*\]: ?(.* ...

  6. python正则表达式代码_python正则表达式的使用(实验代码)

    正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python ...

  7. python 正则表达式生成_python正则表达式

    字符串是我们在编程的时候经常用到的一种数据类型,检查会在字符串里面查找一些内容,对于比较简单的查找,字符串的一些内置的方法就可以处理,对于比较复杂的字符串,或者有一些内容经常变化的字符串查找,那么我们 ...

  8. python 正则表达式判断_Python 正则表达式

    跟随练习: import re original_string = r"ABC\-001" rexp_string = r'\w{3}\\\-\d{3}' result = re. ...

  9. python正则表达式案例_Python正则表达式使用经典实例

    regex=ur"" #正则表达式 match = re.search(regex, subject) if match: # match start: match.start() ...

最新文章

  1. 年化收益14%的投资机会,出手吗?
  2. 管理就16个字!做不到,就走人!
  3. Oracle根据日期计算某月的天数
  4. NLP-基础知识-001
  5. 经济学家告诉你,胸越大的女生越会花钱!
  6. java双语试卷_Java程序设计基础(双语)试题题目及答案,课程2021最新期末考试题库,章节测验答案...
  7. 基于Matlab的跨孔电磁波\跨孔雷达的胖射线追踪(一)
  8. 《Linux内核原理与分析》第五周作业
  9. echarts x轴坐标文字显示不全
  10. 技术要扎扎实实的做,业余功夫也要修炼
  11. 绘制相同到期日欧式期权组合收益图(python)
  12. 设备树使用手册【转】
  13. Shake Shack上海第7家门店开业
  14. python nltk book_自然语言处理(1)之NLTK与PYTHON
  15. 【C】2、C语言介绍
  16. 淘宝 模拟 登录 总结 【QQ 346767073 】
  17. 苹果Arcade订阅常见问题
  18. Conda——报错解决:CondaError: Cannot write to /.condarc Caused by PermissionError(13, ‘Permission denied‘)
  19. 【人才盘点九宫格】你还不来学一学人才九宫格,知道领导在做人才梯度结构盘点时把你划分为属于哪一类人才吗?
  20. 警惕!最新勒索病毒incaseformat来袭!清除方法如下!

热门文章

  1. 从顶点覆盖(Vertex Cover)到碰撞集(Hitting Set)的归约
  2. Git从远程仓库取代码
  3. 计算机类sci期刊影响因子排名,【科研】全球最新SCI期刊影响因子排名:第一名187.040!...
  4. 如何查SCI期刊的影响因子与排名
  5. 计算机网络技术实验TCP,计算机网络实验3TCP实验
  6. 韩 天峰:关于PHP程序员技术职业生涯规划
  7. itpt_TCPL 第二章:类型、运算符以及表达式
  8. Anima Toon:体素角色动画软件
  9. 安卓篇-我自己的第一个安卓程序(附源码链接)
  10. 麒麟座V3.1接入OneNET平台初体验--上传温湿度