简单了解python使用正则表达式
正则【Regular Expression】:正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
正则是用来干啥的:正则就是用来匹配字符串的。
Python中string的几个方法:
find():查找
replace():替换
split():分割
正则与字符串的不同:正则不是完全匹配 string是完全匹配
Python中的 re模块
【方法】
findall('条件','内容');查找所有满足条件的 结果放进列表里
search();返回第一个满足条件的对象 可以跟group()方法一块使用返回结果
match():只在字符串开始匹配,只返回一个对象 和group配合使用返回结果
split():分割字符 split('根据什么跟个 可以有多个条件','内容')
sub():替换 sub('替换什么内容','要替换成什么','内容');
re.compile('规则') :此方法将规则编译成对象 直接可以使用对象调用其他方法来实现匹配 实例
obj=re.compile('\.com')
obj.findall(r'http://www.baodu.com'): 此时后面直接填写内容即可
元字符:(在正则表达式中具有特殊意义的专用字符)
1. . (通配符) 除了换行符(\n) 所有符号都能代指,但是每次只能代指一个符号;
2. ^ 放在开头 只以最开头去匹配 设定开头
3. $ 放在结尾 只以结尾去匹配 findall('h...o$','fadfadfehello')
4. * 重复匹配 重复前面的内容 fadia* 重复a 它会把没有当作0次 也就是当成一个空格 0到无穷大
5.+ 重复匹配 但是最少要有一个 1到无穷大
6.? 最多有一个 最少有0个
7. {} 规定一个范围 比如 a{1,2} 就是最多有两个a 最少有一个a 他是贪婪匹配 默认如果最多条件满足就是取最多
8. [] 字符集,[,,,,,] 或者的意思 比如[a,b] 满足a或者b就行
[a-z] 指定范围 就是只要满足a到z就行 但是它再开头或者结尾就表示一个普通字符[-a,b-]
[]还可以去除特殊意义 (除了^ ,-,\)[^4,5] 取相反 只要不是4和5都匹配
9. | A|B, A 和 B 可以是任意正则表达式,创建一个正则表达式,匹配 A 或者 B. 任意个正则表达式可以用 '|' 连接
10. \ :反斜杠跟元字符去除特殊功能,反斜杠跟普通字符实现特殊功能
\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:匹配一个特殊字符边界,也就是指单词和空格间的位置。
\:去除特殊意义,\\:
11.( ) 分组 将多个字符作为一个整体
12. 正在学习中。
简单了解python使用正则表达式的更多相关文章
- 【Python】正则表达式简单教程
说明:本文主要是根据廖雪峰网站的正则表达式教程学习,并根据需要做了少许修改,此处记录下来以备后续查看. <Python正则表达式纯代码极简教程>链接:https://www.cnblogs ...
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】
[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...
- Python 进阶 - 正则表达式
1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...
- python study - 正则表达式
第 7 章 正则表达式 7.1. 概览 7.2. 个案研究:街道地址 7.3. 个案研究:罗马字母 7.3.1. 校验千位数 7.3.2. 校验百位数 7.4. 使用 {n,m} 语法 7.4.1. ...
- python使用正则表达式文本替换
2D客户端编程从某种意义上来讲就是素材组织,所以,图片素材组织经常需要批量处理,python一定是最佳选择,不管是win/linux/mac都有一个简单的运行环境 举两个应用场景: 如果不是在某个文件 ...
- python的正则表达式 re
python的正则表达式 re 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这点不用担心,python会处理地和Ascii字符一 ...
- python基础——正则表达式
正则表达式 正则表达式为高级的文本模式匹配.抽取.与/或文本形式的搜索和替换功能提供了基础.简单的说,正则表达式是一些由字符和特殊符号组成的字符串,他们描述了模式的重复或者表述多个字符,于是正则表达式 ...
- Python之正则表达式(re模块)
本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 正则表达式(Regluar Expressions)又称规则 ...
- 【Python】正则表达式纯代码极简教程
<Python3正则表达式>文字版详细教程链接:https://www.cnblogs.com/leejack/p/9189796.html ''' 内容:Python3正则表达式 日期: ...
随机推荐
- Docker最全教程——数据库容器化(十)
终于按时完成第二篇.本来准备着手讲一些实践,但是数据库部分没有讲到,部分实践会存在一些问题,于是就有了此篇以及后续——数据库容器化.本篇将从SQL Server容器化实践开始,并逐步讲解其他数据库的容 ...
- 杭电ACM2017--字符串统计
字符串统计 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- [orleans2.1]这是你没玩过的船新版本
不知不觉orleans就发布到2.1版本的,但是说也奇怪orleans越是完善我发现园子相关的博客就越少,大概是大佬都在美滋滋用在生产环境,不屑于玩demo了吧. 但是小弟不才还是只会玩demo,所以 ...
- js循环语句
1.for循环 for(语句1:语句2:语句3){ 代码块 } //语句1:初始化表达式; //语句2:条件表达式; //语句3:更新表达式; 2.for-in循环 for(x in object){ ...
- 【Android】用Cubism 2制作自己的Live2D——初见!
前言- 现在很多手游的UI上都不约而同的放置一个Live2D模型,这仿佛已经成为了一个业界的潜规则之类的东西.作为一名深受手机游戏毒害的90后,我也没有忘记小时候励志当一名技术宅的梦想,也想试试自己做 ...
- typescript中的接口
说到接口:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用.接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心 ...
- LeetCode的刷题利器(伪装到老板都无法diss你没有工作)
在工程效率大行其道的今天,如果不会写点代码以后也不容易在测试圈混下去.今天给大家推荐一个LeetCode的刷题利器,可以伪装到连你老板在这里走过去都无法确认你是在干活呢,还是在干活呢. LeetCod ...
- MyDAL - .UpdateAsync() 使用
索引: 目录索引 一.API 列表 1.UpdateAsync() 用于 单表 更新操作 二.API 单表-便捷 方法 举例-01 var pk1 = Guid.Parse("8f2cbb6 ...
- androidkiller连接模拟器并修改源码调试
首先需要连接模拟器,首先在模拟器的bin目录下运行命令:nox_adb.exe connect 127.0.0.1:62001(可以disconnect关闭): 之后在androidkiller的bi ...
- 如何使用java validation api进行参数校验----Hibernate-Validation
在日常开发中,Hibernate Validator经常用来验证bean的字段,基于注解,方便快捷高效. 1. Bean Validation 中内置的 constraint 注解 ...