import re
origin= "hello alex bcd alex 1ge alex acd 19"
r=re.match("(?P<n1>h)(?P<n2>\w+)",origin)
print(r.group())#获取匹配所有结果
print(r.groups())#获取模型中匹配的分组结果
print(r.groupdict())##获取模型中匹配的分组结果r=re.match("(?P<n1>h)(\w+)",origin)
'''
hello
('h', 'ello')
{'n2': 'ello', 'n1': 'h'}
'''

groups()就是显示选组(),而groupdict就是在分组加入一个关键字key

a = "alex"
n = re.findall('(\w)(\w)(\w)(\w)',a)
print(n)
n = re.findall('(\w){4}',a)
print(n)
n = re.findall("",a) #匹配空['', '', '', '', '']会比字符串多一个,就是最后再匹配一次
print(n) str1 = "1abc2abcq3abc4abc"
t = re.findall('(\dabc)*',str1)#结是为什么是['2abc', '', '4abc', '']
#这个是因为匹配*为贪婪模式1abc2abc但括号取值取最后一个,到q是*可以为空,空匹配到,接着3abc4abc取后面4abc,完后还有一个空匹配
print(t)
运行结果

[('a', 'l', 'e', 'x')]
['x']
['', '', '', '', '']
['2abc', '', '4abc', '']

 import re
def f(n):
while True:
if re.search('\d+\.?\d*[*/]\d+\.?\d*',n):#匹配小数点
ret=re.search('\d+\.?\d*[*/]\d+\.?\d*',n).group()
# print(ret)
t=re.split('([*/])',ret)
# print(t)
if t[1] == '*':
sum = float(t[0])*float(t[2])
else:
sum = float(t[0])/float(t[2])
n1 = n.replace(ret,str(sum))
# print(n1)
n = n1
t.clear()
else:
break
while True:
if re.search('\d+\.?\d*[+-]\d+\.?\d*',n):
ret=re.search('\d+\.?\d*[+-]\d+\.?\d*',n).group()
# print(ret)
t=re.split('([+-])',ret)
# print(t)
if t[1] == '+':
sum = float(t[0])+float(t[2])
else:
sum = float(t[0])-float(t[2])
n1 = n.replace(ret,str(sum))
# print(n1)
n = n1
t.clear()
else:
break
return n
n1 = '1+0*(3*4+(1+3))+23-2.51*0'
print(n1)
flag = True
while flag:
t1=re.split('\(([^()]+)\)',n1,1)#split分割出来去掉()
if len(t1) == 3 :
str1 = f(t1[1])#调用加减乘除函数
t1[1]=str(str1)
n1="".join(t1)
# print(n1)
else:
flag = False
n2=f(n1)
print(n2)

 n='1+2*3+3*4'
n1, count = re.subn('\*','/',n)
print(n1,count)
运行结果
1+2/3+3/4 2

												

python正则表达式补充的更多相关文章

  1. Python 正则表达式 (python网络爬虫)

    昨天 2018 年 01 月 31 日,农历腊月十五日.20:00 左右,152 年一遇的月全食.血月.蓝月将今晚呈现空中,虽然没有看到蓝月亮,血月.月全食也是勉强可以了,还是可以想像一下一瓶蓝月亮洗 ...

  2. python正则表达式-re模块

    目录: 一.正则函数 二.re模块调用 三.贪婪模式 四.分组 五.正则表达式修饰符 六.正则表达式模式 七.常见的正则表达式 导读: 想要使用python的正则表达式功能就需要调用re模块,re模块 ...

  3. 【python之路39】Python 正则表达式

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

  4. Python 正则表达式入门(中级篇)

    Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...

  5. Python正则表达式中的re.S

    title: Python正则表达式中的re.S date: 2014-12-21 09:55:54 categories: [Python] tags: [正则表达式,python] --- 在Py ...

  6. Python 正则表达式入门(初级篇)

    Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...

  7. python正则表达式re

    Python正则表达式: re 正则表达式的元字符有. ^ $ * ? { [ ] | ( ).表示任意字符[]用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可 ...

  8. Python正则表达式详解

    我用双手成就你的梦想 python正则表达式 ^ 匹配开始 $ 匹配行尾 . 匹配出换行符以外的任何单个字符,使用-m选项允许其匹配换行符也是如此 [...] 匹配括号内任何当个字符(也有或的意思) ...

  9. 比较详细Python正则表达式操作指南(re使用)

    比较详细Python正则表达式操作指南(re使用) Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 E ...

随机推荐

  1. Java8增强的包装类

    为了解决8中基本数据类型的变量不能当成Object 类型变量使用的问题,Java提供了包装类的概念,为8种基本数据类型分别定义了相应的引用类型,并称为基本数据类型的包装类. JDK 1.5提供了自动装 ...

  2. iperf 测试工具

    Iperf是一个网络性能测试工具.Iperf可以测试TCP和UDP带宽质量.Iperf可以测量最大TCP带宽,具有多种参数和UDP特性. Iperf可以报告带宽,延迟抖动和数据包丢失.利用Iperf这 ...

  3. golang获取u盘序列号(通过读取注册表实现)

    仅供参考 package main import ( "fmt" "log" "os" "strconv" " ...

  4. 设计模式理解(十)结构型——享元(Flyweight)

    最后一个结构型,享元.没有太多的项目经验,对这种模式只有一种概念上的理解,就是为了节约内存等资源,把可重用的东西只申请一次,然后处处调用,同时用Hash进行管理. 直接上图: 代码: /******* ...

  5. lsyncd+rsync配置图片资源双向同步

    需求:为保证国内外图片加载速度,国内请求上传图片资源地址阿里云oss,国外请求上传图片资源地址aws s3,为保证图片资源的一致性,需定时进行oss和s3图片双向同步 调研方案:由于之前配置过inot ...

  6. es6 class中责任链模式与AOP结合

    责任链模式大家应该都清楚,比如JS中的冒泡,Java中的拦截器.过滤器,都运用到了责任链模式. 可以看我之前的文章介绍责任链的:https://www.cnblogs.com/wuguanglin/p ...

  7. ORM以及Django使用ORM创建表

    day61 2018-04-28 1. 内容回顾 1. HTTP协议消息的格式: 1. 请求(request) 请求方法 路径 HTTP/1.1\r\n k1:v1\r\n ...\r\n \r\n ...

  8. webdriver之select、alert、prompt、confirm

    select_by_index()  :通过索引定位select_by_value()  :通过value值定位select_by_visible_text() :通过文本值定位deselect_al ...

  9. css浮动与清除浮动

    css浮动 首先,我们要知道,css中块级元素在页面中是独占一行的,自上而下排列,也就是我们所说的流,通常称为标准流. 以div为例,div是块级元素,如下: 可以清楚地看到,div是独占一行的,di ...

  10. Vue小项目二手书商城:(一)准备工作、组件和路由

    本项目基于vue2.5.2,与低版本部分不同之处会在(五)参考资料中提出 完整程序:https://github.com/M-M-Monica/bukesi 实现内容: 资源准备(mock数据) 组件 ...