python正则表达式补充
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正则表达式补充的更多相关文章
- Python 正则表达式 (python网络爬虫)
昨天 2018 年 01 月 31 日,农历腊月十五日.20:00 左右,152 年一遇的月全食.血月.蓝月将今晚呈现空中,虽然没有看到蓝月亮,血月.月全食也是勉强可以了,还是可以想像一下一瓶蓝月亮洗 ...
- python正则表达式-re模块
目录: 一.正则函数 二.re模块调用 三.贪婪模式 四.分组 五.正则表达式修饰符 六.正则表达式模式 七.常见的正则表达式 导读: 想要使用python的正则表达式功能就需要调用re模块,re模块 ...
- 【python之路39】Python 正则表达式
Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. r ...
- Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- Python正则表达式中的re.S
title: Python正则表达式中的re.S date: 2014-12-21 09:55:54 categories: [Python] tags: [正则表达式,python] --- 在Py ...
- Python 正则表达式入门(初级篇)
Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...
- python正则表达式re
Python正则表达式: re 正则表达式的元字符有. ^ $ * ? { [ ] | ( ).表示任意字符[]用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可 ...
- Python正则表达式详解
我用双手成就你的梦想 python正则表达式 ^ 匹配开始 $ 匹配行尾 . 匹配出换行符以外的任何单个字符,使用-m选项允许其匹配换行符也是如此 [...] 匹配括号内任何当个字符(也有或的意思) ...
- 比较详细Python正则表达式操作指南(re使用)
比较详细Python正则表达式操作指南(re使用) Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 E ...
随机推荐
- mySQL简单操作(三)
1.事务 (1)ACID 原子性(不可分割性)automicity 一致性 consistency 隔离性 isolation 持久性 durability (2)事务控制语句 begin/start ...
- Linux nmcli 网络管理
Linux nmcli 网络管理 RHEL 和 CentOS 系统默认使用 NetworkManager 来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态.可以使用 nm ...
- 自制操作系统Antz(11)——实现shell(下)命令响应
我已经规范了系统代码风格,类似于按照linux分包,把各部分功能区分开了 Antz系统更新地址 Linux内核源码分析地址 Github项目地址 在之前的任务中,我们已经通过直接操作显卡驱动完成了简单 ...
- Missing artifact com.oracle:ojdbc14:jar:10.2.0.3.0
1.Missing artifact com.oracle:ojdbc14:jar:10.2.0.3.0操作如下: 2.下载链接:链接:https://pan.baidu.com/s/1Ziyg2jl ...
- Oracle错误——tablespace 'XXXX' does not exist
错误 在使用IMP命令导入Oracle数据的时候,因为导出数据的数据库表空间和导入数据的数据库表空间不同,导致导入数据失败,出现:tablespace 'XXXX' does not exist 在网 ...
- MySql 8.0 C#连接报错 MySql.Data.MySqlClient.MySqlException (0x80004005): Authentication to host '12.118.224.181' for user 'root' using method 'caching_sha2_password' failed with message: Reading from t
解决方法 在连接字符串后面加上 SslMode=None
- export ,export default 和 import 区别 以及用法
首先要知道export,import ,export default是什么 ES6模块主要有两个功能:export和importexport用于对外输出本模块(一个文件可以理解为一个模块)变量的接口i ...
- P2178 [NOI2015]品酒大会
思路 在后缀树上进行一些操作就好了 后缀树上LCA的maxlen就是两个后缀的LCP的长度了 然后统计每个点作为LCA的次数和最大值.次大值.最小值.次小值 然后就做完了 代码 #include &l ...
- 编码原则 之 Once and Only Once
原文 The Once and Only Once principle can be thought of as a subset of the Don’t Repeat Yourself princ ...
- 使用 pm2 优雅的部署 node 程序
使用 pm2 优雅的部署 node 程序 # 启动并监控名字为 XXX 的 npm run start:dev 命令 pm2 start npm --watch --name XXX -- run s ...