python re 正则表达式-基础版

import re
#正则表达式是用来干什么的?匹配字符串
#首先回顾一下字符串的使用方法。
# s = "hello world"
# print(s.find("e")) #查找
# ret = s.replace("ll","xx")
# print(ret)
# print(s.split("w"))
#string提供的方法是完全匹配。
#切入正题,正则匹配【模糊匹配】
# print(re.findall("w\w{2}l","hello world")) #[‘worl‘]
# . 匹配除换行符以外的任意字符
# \w 匹配字母或数字或下划线或汉字 等价于 ‘[^A-Za-z0-9_]‘。
# \s 匹配任意的空白符
# \d 匹配数字
# \b 匹配单词的开始或结束
# ^  匹配字符串的开始
# $  匹配字符串的结束
# \w 能不能匹配汉字要视你的操作系统和你的应用环境而定
# print(re.findall("alex","sldfkjlajalexlskjdfalex"))#[‘alex‘, ‘alex‘]杀鸡焉用牛刀s.find能搞定!!
"""
元字符
.通配符   代表除了换行符之外的所有单个字符
^尖角符   只以字符串开始来匹配
$导乐符   只以结尾匹配。
*星字符   重复匹配,重复前面一个字符来匹配0到+oo个。 * == {0,+oo}正无穷 推荐使用
+加字符   重复匹配,重复前面一个字符来匹配1到+oo个。 + == {1,+oo}        推荐使用
?问号符   匹配,重复前面一个字符来匹配0到1个        ? == {0,1}          推荐使用
{}大括号  重复匹配,重复前面一个字符来匹配{}个 {5}5次{1,3}1到3次,贪婪匹配,多个满足取最多。
[]字符集  或的关系[c,d]c或者d,只能匹配1次,[a-z]表示a,b,c,d...z
[]字符集  取消元字符的特殊功能 "a[w,*]d","aedaxdapda*dawd" ,,也行,我去
[]字符集  三个例外 \ ^ - 三个例外的不取消元字符的特殊功能
[^]取反   [^4,5]","123456"))#[‘1‘, ‘2‘, ‘3‘, ‘6‘]取反,怎么匹配45???
|管道符   或的意思
\反斜杠符 最重要的一个 反斜杠符后面跟元字符去除特殊功能
\反斜杠符 最重要的一个 反斜杠符后面跟普通字符实现特殊功能
    \d  匹配任何十进制数;它相当于类 [0-9]。
    \D 匹配任何非数字字符;它相当于类 [^0-9]。
    \s  匹配任何空白字符;它相当于类 [ \t\n\r\f\v]。
    \S 匹配任何非空白字符;它相当于类 [^ \t\n\r\f\v]。
    \w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。
    \W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]
    \b  匹配一个[单词|特殊]字符的边界,比如空格 ,&,#,,¥,%等 r"I\b","I am a LI$T"
"""
# print(re.findall("w..l","hello world"))#[‘worl‘] .代表除了换行符之外的所有单个字符
# print(re.findall("^h...o","lsdhflhello")) #^只以开始匹配。[]
# print(re.findall("h...o$","lsdhflhello")) #^只以结尾匹配。[‘hello‘]
# print(re.findall("alex.*li","lsdhaalexflhellilo")) #*重复匹配,重复前面一个字符来匹配。[‘alexflhelli‘]
# print(re.findall("alex*li","lsdhaalexxxxxxxlilo")) #*重复匹配,重复前面一个字符来匹配。[‘alexxxxxxxli‘]
# print(re.findall("alex*li","lsdhaailo")) #*重复匹配,重复前面一个字符来匹配。[‘alexxxxxxxli‘]
# print(re.findall("ab+","skldfaaaa"))#[] b+ 也代表b0,就是0个b,匹配不上
# print(re.findall("a?b","skldbfaaaba"))#[‘b‘, ‘ab‘]a?b 能匹配0个a或者1个a
# print(re.findall("a{5}b","sdfadsfaaaaaabsdflkas"))#[‘aaaaab‘]重复匹配,重复前面一个字符来匹配{5}个。
# print(re.findall("a{3,5}b","sdfadsfaaaaaabsdflkas"))#[‘aaaaab‘]重复匹配,重复前面一个字符来匹配{3到5}个,多个满足取最多。
# print(re.findall("a[e,x]d","aedaxdapd"))#[‘aed‘, ‘axd‘]或的关系[e,x]c或者d,只能匹配1次可是是空格。
# print(re.findall("a[w,*,.,,]d","aedaxa.ddapda*daa,dwd"))#[‘a.d‘, ‘a*d‘, ‘a,d‘]取消元字符的特殊功能*w 。
# print(re.findall("a[a-z]d","aedaxa.ddapda*daa,dwd"))#[‘aed‘, ‘apd‘] 三个例外 \ ^ - 三个例外的不取消元字符的特殊功能 。
# print(re.findall("[1-9,a-z,A-Z]","12tyAD"))#[‘1‘, ‘2‘, ‘t‘, ‘y‘, ‘A‘, ‘D‘]
# print(re.findall("[1-9a-zA-Z]","12tyAD"))#[‘1‘, ‘2‘, ‘t‘, ‘y‘, ‘A‘, ‘D‘]和上面的使用方法是一样的
# print(re.findall("^iu","12tyADiu"))#[]
# print(re.findall("[^t]","12tyADtiu"))#[‘1‘, ‘2‘, ‘y‘, ‘A‘, ‘D‘, ‘i‘, ‘u‘][^]取反
# print(re.findall("[^4,5]","12345,6"))#[‘1‘, ‘2‘, ‘3‘, ‘6‘]取反包括,
# print(re.findall("[^45]","12345,6"))#[‘1‘, ‘2‘, ‘3‘, ‘6‘]取反不包括,
# print(re.findall("\d{11}","151333333333a3333sd333151005183"))#[‘15133333333‘, ‘33315100518‘]\d匹配[0-9]
# print(re.findall("\s{3}asd","fkasd    asd"))#[‘   asd‘]\s取空白字符
# print(re.findall("\wasd","fkasd    asd"))#[‘kasd‘] 匹配字母数字字符[1-9a-zA-Z]
# print(re.findall("\Wasd","fkasd    asd"))#[‘ asd‘] 匹配非字母数字字符[^1-9a-zA-Z]
# print(re.findall("I","I am a LIST"))#[‘I‘, ‘I‘]  我只想要代表我这个I
# print(re.findall("I\b","I am a LIST"))#[]  我只想要代表我这个I
# print(re.findall(r"I\b","I am a LIST"))#[‘I‘]  我只想要代表我这个I,为啥加了给r
# print(re.findall(r"I\b","I am a LI$T"))#[‘I‘, ‘I‘]  空格和$都是特殊字符,逗号也算
# print(re.findall(r"\bI"," Iam a LI$T"))#[‘I‘] 放到前面来获取也可以的
# print("***"*20)
# print(re.search("alux","alux0000alux000alux"))# <re.Match object; span=(0, 4), match=‘alux‘> 返回第一个对象0-4的位置
# print(re.search("alux","alux0000alux000alux").group())# alux(字符串) 匹配出满足条件的第一个结果
# print(re.search("a\..d","apa.rddd").group())# a.rd 反斜杠可以将.的特殊意义去除
print(re.findall("D.c","adhfD\c"))#???????

原文地址:https://www.cnblogs.com/bdua/p/12241149.html

时间: 2024-10-10 04:26:00

python re 正则表达式-基础版的相关文章

Python爬虫-正则表达式基础

import re #常规匹配 content = 'Hello 1234567 World_This is a Regex Demo' #result = re.match('^Hello\s\d\d\d\s\d{4}\s\w{10}.*Demo$',content) #print(result.group()) #print(result.span()) #泛匹配 #result = re.match("^Hello.*Demo$",content) #print(result)

01 基础版web框架

服务器server端python程序(基础版): 1 import socket 2 server=socket.socket() 3 server.bind(("127.0.0.1",8888)) 4 server.listen() 5 conn,client_addr=server.accept() 6 http_request=conn.recv(1024).decode("utf-8")#接收到的客户端http请求内容 7 print(http_reques

正则表达式基础---转自 Python正则表达式指南 前边

1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大.得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同:但不用担心,不被支持的语法通常是不常用的部分.如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了. 下图展示了使用正则表达式进行匹配的流程:  正则表达式的大

零基础学python》(第二版)

---恢复内容开始--- 零基础学python>(第二版) python学习手册 可以离线下载,  .chn格式, 插入小幽默笑话,在学习累的时候看看笑话 放松一下 欢迎下载转载,请注明出处,谢谢 下载地址          http://files.cnblogs.com/files/xuchunlin/%E3%80%8A%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%AD%A6python%E3%80%8B%EF%BC%88%E7%AC%AC%E4%BA%8C%E7%89%88

PYTHON网络编程基础 pdf扫描版高清下载

PYTHON网络编程基础 pdf,本书全面介绍了使用PYTHON进行网络编程的基础知识,高级网络操作.WebServices.解析HTML和XHTML.XML.FTP.使用PYTHON操作数据库.SSL.几种服务器端框架,以及多任务处理等,实用性比较强,书中提供了175个实例,6600行以上的代码. 目录 第1部分 底层网络 第1章 客户/服务器网络介绍 第2章 网络客户端 第3章 网络服务器 第4章 域名系统 第5章 域名系统 第2部分 Web Service 第6章 Web客户端访问 第7章

Linux 基础入门----正则表达式基础

介绍 虽然我们这一节的标题是正则表达式,但实际这一节只是介绍grep,sed,awk这三个命令,而正则表达式作为这三个命令的一种使用方式(命令输出中可以包含正则表达式).正则表达式本身的内容很多,要把它说明清楚需要单独一门课程来实现,不过我们这一节中涉及到的相关内容通常也能够满足很多情况下的需求了. 想要更深入地学习使用正则表达式,在这里 正则表达式基础. 一.正则表达式 什么是正则表达式呢? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法(英语:Regular Ex

python核心编程第二版

初学Python这是一本有关Python开发的指南涵盖近期发布的Pyttlon版本的核心功能特性,而不仅仅是语法学习更多的高阶内容,如正则表达式.网络.多线程.图形用户界面.Web/CGl和Python扩展等包括几个全新的章节,关于数据库.网络客户端.Java/Jytt30n和Microsoft Office等 展示数以百计的代码片段.交互实例和大量加强您的Python技能的实用练习"对Wesley Chun<Python核心编程>第二版的漫长等待是值得的--它的深邃.它的全面,以及

1.11正则表达式基础(学习过程)

正则表达式基础 实验介绍 虽然我们这一节的标题是正则表达式,但实际这一节实验只是介绍grep,sed,awk这三个命令,而正则表达式作为这三个命令的一种使用方式(命令输出中可以包含正则表达式).正则表达式本身的内容很多,要把它说明清楚需要单独一门课程来实现,不过我们这一节中涉及到的相关内容通常也能够满足很多情况下的需求了. 想要更深入地学习使用正则表达式,在这里 正则表达式基础. 一.正则表达式 什么是正则表达式呢? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法(英

Python学习笔记基础篇——总览

Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列表.字典.主文件判断.对象 Python学习笔记——基础篇1[第三周]——set集合 Python学习笔记——基础篇2[第三周]——计数器.有序字典.元组.单(双)向队列.深浅拷贝.函数.装饰器 Python学习笔记——基础篇[第四周]——迭代器&生成器.装饰器.递归.算法.正则表达式 Python