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. Emote木马分析

    前言:网上找的样本是EXE的,没有邮件样本,所以只做了exe分析. 一.Emote木马相关信息 文件: C:\Users\Desktop\Samp.exe 大小: 249856 bytes 文件版本: ...

  2. pyautogui

    pip install PyGetWindow==0.0.1 pip install pyautogui https://www.cnblogs.com/dcb3688/p/4607980.html

  3. python面试问题集锦

    GIL(全局解释器锁) 描述Python GIL的概念, 以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序是否可比单线程性能有提升,并解释原因. 1.python语 ...

  4. linux基础之加密解密、PKI及SSL、创建私有CA

    加密解密基础 1. 对称加密: 加密和解密使用同一个密钥 常见的加密算法有:DES.3DES.AES.Blowfish.Twofish.IDEA.RC6.CAST5 特性: 1. 加密.解密使用同一个 ...

  5. VFIO PF SRIOV IOMMU UIO概念解释、关联

    1.UIO出现的原因 第一,硬件设备可以根据功能分为网络设备,块设备,字符设备,或者根据与CPU相连的方式分为PCI设备,USB设备等.它们被不同的内核子系统支持.这些标准的设备的驱动编写较为容易而且 ...

  6. pip安装报错

    ERROR: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat) python通过pip或者源码来安装某些模块时,这 ...

  7. Spring的基础注解

    Spring的基础注解 1.注解的概述 注解是为了便于程序的调试而用于代替配置文件的一种程序语法,与配置文件具有互换性.通常基于注解编程的程序更加简洁. (注:使用Spring注解必须导入aop包) ...

  8. python实现简单二分查找

    #!/usr/bin/pythondef binary_search(list, item): low = 0 high = len(list)-1 while low <= high: mid ...

  9. 使用Python编的猜数字小游戏

    import random secret = random.randint(1, 30) guess = 0 tries = 0 print("我叫丁丁,我有一个秘密数字!") p ...

  10. Cocos Creator学习三:生命周期回调函数

    1.目的:学习生命周期回调函数以及回调顺序,更有利于我们逻辑的处理把控. 2.生命周期回调函数: 节点:指cc.Node:组件:指cc.Component. ①onLoad:脚本组件绑定的节点所在场景 ...