【正则表达式】--python(表示字符)
【前修知识】
match :匹配 span:范围
match 是从头往后开始匹配,search不按照顺序,直接获取自己想要的,有就显示,没有就None
r 代表反转义,前面也提到过这个知识,如果我们在获取东西的过程中,都不需要反转义的东西,往前就加个r就行,如果是有特殊含义的就给反转义,没有特殊含义的也没事
我们只需要记住,正则表达式:符号+方法
1、为什么用到正则表达式?
帮我们匹配内容,获取里面的信息
如果使用切片,下标什么的太过于麻烦,再加上如果开发者在写的时候打了空格,而你可能不知道空格多少,会发生一些错误,换言之需要一个能准确提取信息的方法

正则表达式的流程是:先匹配再提取
2、正则表达式的基本特征
-----先进行导入正则,分析结果,得到一个match对象,下标范围是(0,3),匹配内容是www

我们用group来获取匹配的内容

接下来,来观察匹配的性质,对于match来说,是从前往后匹配的
这个例子可以看出,无法匹配显示None(可以理解一点None就是一个假的,None没有任何属性),更别说想拿到你本想匹配的taobao

对于search来说,就直接搜索这个匹配内容

3、正则表达式的延伸
3.1、表示字符的

1、从头开始匹配的,且匹配一个字符(.)

2、就是在[ ]里面任取一个进行匹配,而match的方法呢,是从前往后的,获取匹配的结果自然从前往后
---没有

[ ]里面其实是三个都有,任取一个,而方法是从前往后

验证上面

【将两个正则放一块的效果】
放入中括号里面的点,特殊含义已经失效,普通字符点(.)

【a到z任意一个】

如果换用大写的范围,直接放到后面,要明白这个意思,加空格可代表一个字符

【0到9任意一个】

----【改用search方法效果】
任取一个,不就a

3、专门匹配数字,也就是0到9的(专业)(\d)

4、专门匹配非数字(\D)


5、匹配空白,也就是空格(\s)--常用
匹配非空格(\S)

点是默认一个长度,点是不能匹配换行

可以看出,能够获取空白字符串

\t 也能拿到空格

\n 也能拿到空格

【后面是陆续增加方法:】

6、匹配单词(\w)--匹配所有的文字、下划线和数字
特殊字符

汉字

标点符号

数字

下划线



------第二个只能匹配ASCLL码,所以报错

7、中文
默认匹配unicode
匹配中文字符的正则表达式: [\u4e00-\u9fa5]


【正则表达式】--python(表示字符)的更多相关文章
- 【python】正则表达式-正则表达式常见的字符和符号表
正则表达式常见的字符和符号表:
- Python基础-字符编码与转码
***了解计算机的底层原理*** Python全栈开发之Python基础-字符编码与转码 需知: 1.在python2默认编码是ASCII, python3里默认是utf-8 2.unicode 分为 ...
- C#正则表达式匹配任意字符
原文:C#正则表达式匹配任意字符 不得不说正则很强大,尤其在字符串搜索上 匹配任意字符,包括汉字,换行符: [\s\S]*. 版权声明:本文为博主原创文章,未经博主允许不得转载.
- Python中文字符的理解:str()、repr()、print
Python中文字符的理解:str().repr().print 字数1384 阅读4 评论0 喜欢0 都说Python人不把文字编码这块从头到尾.从古至今全研究通透的话是完全玩不转的.我终于深刻的理 ...
- Python的字符编码
Python的字符编码 1. Python字符编码简介 1. 1 ASCII Python解释器在加载.py文件的代码时,会对内容进行编码,一般默认为ASCII码.ASCII(American St ...
- Python常用字符编码(转)
Python常用字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交 ...
- python生成字符画
python生成字符画 这个idea来自于实验楼,非常适合练习PIL的像素处理,更重要的是非常有意思. 环境配置 依赖的第三方库就是PIL(Python Image Library),可以直接使用pi ...
- Python常见字符编码间的转换
主要内容: 1.Unicode 和 UTF-8的爱恨纠葛 2.字符在硬盘上的存储 3.编码的转换 4.验证编码是否转换正确 5.Python bytes类型 前 ...
- python 3字符编码
python 3字符编码 官方链接:http://legacy.python.org/dev/peps/pep-0263/ 在Python2中默认是ascii编码,Python3是utf-8编码 在p ...
- python文本 字符与字符值转换
python文本 字符与字符值转换 场景: 将字符转换成ascii或者unicode编码 在转换过程中,注意使用ord和chr方法 >>> print(ord('a')) 97 ...
随机推荐
- 【NOIP2016提高组】 Day2 T2 蚯蚓
题目传送门:https://www.luogu.org/problemnew/show/P2827 自测时被题面所误导...,题面中说逢t的倍数才输出答案,以为有什么玄妙的方法直接将m次操作变成了m/ ...
- Java基础-运行原理及变量(01)
java运行原理 手动编写java文件由编译器编译成.class文件,再由解释器翻译class文件成机器语言运行. Java中注释分类 单行注释格式: //注释文字多行注释格式: /* 注释文字 */ ...
- JavaScript OOP 之 this指向
今天给大家分享一个JavaScript OOP中关于分辨this指向对象的小技巧,很实用呦! 我们先来看一段代码: 大家能判断出func();和obj.func();这两句的this指向吗? 首先,我 ...
- 算法改进 | java语言中判断素数
参考文章:http://blog.csdn.net/kp_liu/article/details/37569507 http://blog.csdn.net/huang_miao_xin/articl ...
- AsyncTask学习
在学习Android的时候,开始用到比较多的异步处理的类大概就是AsyncTask,但是我们很多时候只知道调用,却不知道思考一些东西. 本文就简单的总结和分析了一些AsyncTask的知识. 一.As ...
- 使用bower init创建bower.json文件
使用bower init 可以快速创建bower.json文件 bower init 回答一系列问题后就可以了,其中大部分问题可以按enter跳过.
- Ionic3 遇到的一些错误-Error: Cannot find module 'reflect-metadata'
E:\Projects\ionic\myApp5>ionic serve Error: Cannot find module 'reflect-metadata' 解决方法: npm insta ...
- poj 2720 Last Digits
Last Digits Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2233 Accepted: 474 Descri ...
- hdu 3001 Travelling(状态压缩 三进制)
Travelling Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- 入我新美大的Java后台开发面试题总结
静儿最近在总结一些面试题,那是因为做什么事情都要认真.面试也一样,静儿作为新美大金融部门的面试官,负责任的告诉大家,下面的问题回答不上来,面试是过不了的.不过以下绝不是原题,你会发现自己实力不过硬,最 ...