Python实战之正则表达式RE/re学习笔记及简单练习

# .,\w,\s,\d,,^,$# *,+,?,{n},{n,},{n,m}

# re模块用于对python的正则表达式的操作。## 字符:##   . 匹配除换行符以外的任意字符#   \w 匹配字母或数字或下划线或汉字#   \s 匹配任意的空白符#   \d 匹配数字#   \b 匹配单词的开始或结束#   ^  匹配字符串的开始#   $  匹配字符串的结束## 次数:##   * 重复零次或更多次#   +  重复一次或更多次#   ?  重复零次或一次#   {n}    重复n次#   {n,}   重复n次或更多次#   {n,m}  重复n到m次

import re# match(pattern, string, flags=0)# 从起始位置开始根据模型去字符串中匹配指定内容,匹配单个    # 正则表达式    # 要匹配的字符串    # 标志位,用于控制正则表达式的匹配方式# strings = re.match(‘\d+‘,‘123df45‘)# print(strings)# print(strings.group())# print(strings.groups())# <_sre.SRE_Match object; span=(0, 3), match=‘123‘># 123# ()

#根据模型去字符串中匹配指定内容,匹配单个# obj = re.search(‘\d+‘,‘u9f34k‘)# print(obj)# print(obj.group())# <_sre.SRE_Match object; span=(1, 2), match=‘9‘># 9

# group和groups# a = ‘123abc456‘# print(re.search("([0-9]*)([a-z]*)([0-9]*)",a).group())# # 123abc456# print(re.search("([0-9]*)([a-z]*)([0-9]*)",a).groups())# # (‘123‘, ‘abc‘, ‘456‘)# print(re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(0))# # 123abc456# print(re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(1))# # 123# print(re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(2))# #abc# print(re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(3))# #456

# findall(pattern, string, flags=0)# 上述两中方式均用于匹配单值,即:只能匹配字符串中的一个,如果想要匹配到字符串中所有符合条件的元素,则需要使用 findall。# a = ‘123abc567‘# obj = re.findall(‘\d+‘,a)# print(obj)# print()# [‘123‘, ‘567‘]

# sub(pattern, repl, string, count=0, flags=0)# 用于替换匹配的字符串

# content = ‘123abc456‘# new_content = re.sub(‘\d+‘,‘sb‘,content)# # sbabcsb# print(new_content)# new = re.sub(‘\d+‘,‘xxoo‘,content,3)# print(new)# xxooabcxxoo

content = "‘1 - 2 * ((60-30+1*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2) )‘"# new_content = re.split(‘\*‘,content)# print(new_content)# # ["‘1 - 2 ", ‘ ((60-30+1‘, ‘(9-2‘, ‘5/3+7/3‘, ‘99/4‘, ‘2998+10‘, ‘568/14))-(-4‘, ‘3)/(16-3‘, "2) )‘"]# new_content2 = re.split(‘\*‘,content,1)# print(new_content2)# # ["‘1 - 2 ", " ((60-30+1*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2) )‘"]## new_content3 = re.split(‘\*‘,content,3)# print(new_content3)# # ["‘1 - 2 ", ‘ ((60-30+1‘, ‘(9-2‘, "5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2) )‘"]

# new_content = re.split(‘[\+\-\*\/]+‘,content)# print(new_content)# ["‘1 ", ‘ 2 ‘, ‘ ((60‘, ‘30‘, ‘1‘, ‘(9‘, ‘2‘, ‘5‘, ‘3‘, ‘7‘, ‘3‘, ‘99‘, ‘4‘, ‘2998‘, ‘10‘, ‘568‘, ‘14))‘, ‘(‘, ‘4‘, ‘3)‘, ‘(16‘, ‘3‘, "2) )‘"]

# inpp = ‘1-2*((60-30 +(-40-5)*(9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2))‘# inpp = re.sub(‘\s*‘,‘‘,inpp)# print(inpp)# # 1-2*((60-30+(-40-5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))# # new_content = re.split(‘\(([\+\-\*\/]?\d+[\+\-\*\/]?\d+){1}\)‘,inpp, 1)# print(new_content)
时间: 2024-10-17 06:24:08

Python实战之正则表达式RE/re学习笔记及简单练习的相关文章

python之输入和输出(学习笔记一)

python之输入和输出(学习笔记一) 输出 用 print 加上字符串,就可以向屏幕上输出指定的文字.如下命令: print 'hello,world!' print 语句也可以跟上多个字符串,用逗号","隔开,就可以连成一串输出: print 'my name is wtf,','I am learning Python.' 在python中可以直接当做计算器来使用,举例如下: (1)基本的加减乘除余 (2)整数除法与精确除法区别: 注:因为整数除法只取结果的整数部分,要做精确的除

node.js在windows下的学习笔记(2)---简单熟悉一些命令

1.打开如下的安装 2.输入node -v,显示node的版本号 3.输入node --help.显示帮助命令 4.自己用一个文本编辑器编写一下代码,保存为text.js,然后在控制台输入node.exe  text.js的路径(直接把这个js文件拖到控制台自动显示路径),按下回车键 var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {&

加壳学习笔记(三)-简单的脱壳思路&amp;调试思路

首先一些windows的常用API: GetWindowTextA:以ASCII的形式的输入框 GetWindowTextW:以Unicaode宽字符的输入框 GetDlgItemTextA:以ASCII的形式的输入框 GetDlgItemTextW:以Unicaode宽字符的输入框 这些函数在使用的时候会有些参数提前入栈,如这函数要求的参数是字符串数目.还有大小写啦之类的东西,这些东西是要在调用该函数之前入栈,也就是依次push,就是说一般前面几个push接着一个call,那前面的push可能

Node.js学习笔记(3) - 简单的curd

这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简单介绍 这次demo,只涉及到简单的curd操作,用到的数据库是mongo,所以要安装mongo数据库,数据库连接驱动是mongoose: 当然关于mongo的驱动有很多,比如mongous mongoskin等:(详见http://cnodejs.org/topic/4f4ca8e0940ce2e

Sharepoint2013商务智能学习笔记之简单概述(一)

SharePoint 2013 中的商业智能 (BI) 提供集 Microsoft Office 应用程序和其他 Microsoft 技术于一体的全面的 BI 工具.这些 BI 工具有:Excel 2013.SharePoint 2013 中的 Excel Services.SharePoint Server 2013 中的 PerformancePoint Services.SharePoint 中的 Visio Services.SharePoint 2013 和 Microsoft SQL

Python中re(正则表达式)模块函数学习

今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍Python中常用的正则表达式处理函数. 方法/属性 作用 match() 决定 RE 是否在字符串刚开始的位置匹配 search() 扫描字符串,找到这个 RE 匹配的位置 findall() 找到 RE 匹配的所有子串,并把它们作为一个列表返回 finditer() 找到 RE 匹配的所有子串,并把它们作为一个迭代器返回 match() 函数只检查 RE 是否在字符串开始处匹配

CSS学习笔记09 简单理解BFC

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>BFC</title> 6 <style type="text/css"> 7 .div1 {background-color: #FCE38A; width: 200px; height: 100px;}

Python实战之双向队列deque/queue学习笔记及简单练习

['__add__', '__bool__', '__class__', '__contains__', '__copy__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__ini

Python实战之int学习笔记及简单练习

['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__h