Python:正则表达式
admin
2023-07-30 20:47:09
0


Paste_Image.png

前言


最近正在自学python,想从一个实际项目入手,那样的话,应该学的能更积极一些,通过实际功能来锻炼一下自己,想做个爬虫,爬虫因为要处理字符串,正则表达式必不可少,所以先从它入手。

通过在各种渠道找各种资料学习,现在对正则表达式有一些自己的认识了,现结合我的理解分享给大家。

正则表达式简介


正则表达式是一些由字符和特殊符号组成的字符串,它是用来处理字符串的强大工具,可以支持多种编程语言,所以相比各种编程语言,正则表达式是独立的,非常有用,值得我们学习。

说到底,正则表达式可以按照某种模式匹配一个具有相似特征的字符串的集合。

正则表达式字符语法


符号 说明 举例
. 可匹配任何字符(换行符除外) a.b 代表ab之间有一个字符 a2b, a5b, alb, a*b
^ 匹配字符串的开始 ^from 代表 任何以from开始的字符串
$ 匹配字符串的结尾 bi/li$ 代表 任何以bi/li结尾的字符串
* 匹配前面出现的正则表达式零次或者多次
+ 匹配前面出现的正则表达式一次或者多次 \\d+ 表示一个至少一位数的数字
匹配前面出现的正则表达式零次或者一次 ab?表示a或者ab
{N} 匹配前面出现的正则表达式N次 \\d{3}表示连续三个数字,比如123,596
{M,N} 匹配重复出现M次到N次的正则表达式
[…] 匹配字符组里出现的任意一个字符 [23]是2或3,[cr][23]表示c2或者c3或者r2或者r3
[x-y] 匹配从字符x到y中的任意一个字符 [a-z]表示a至z之间某个字符
[^xy] 不匹配此字符集中出现的任意一个字符 [^abc]表示除a,b,c之外的字符
\\d 匹配(0~9)任何数字 任意一个数字,0到9
\\w 匹配任何数字字母字符 任意字母数字字符:*,/,-,a,8
\\s 匹配任何空白符
\\b 匹配单词的边界 \\bthe表示任何以\”the\”开始的字符串,\\bthe\\b表示 “the”
\\c 逐一匹配特殊字符
\\A (\\Z) 匹配字符串的起始(结束) 与^和$相似,当初为了防止国际键盘没有这两个字符而规定的

更多实例


0?[1-9]
表示01到09或者1到9

[0-9]{15,16}
表示15 或 16 位数字表示,例如:信用卡号码

\\d{3}-\\d{3}-\\d(4)
表示 例如 800-555-1212

\\w+@\\w+\\.com
表示的是电子邮件的地址格式,\’.\’前面的\’\\\’代表反转义字符 例如 hunter@Gmail.com

\\d+(\\.\\d*)?
表示简单的浮点数,即, 任意个十进制数字,后面跟一个可选的小数点,然后再接零或多个十进制数字。例如:“0.004,”“2”,“75.”, 等等

(Mr?s?. )?[A-Z][a-z]* [ A-Za-z-]+
表示名字和姓氏,对名字的限制(首字母大写,其它字 母(如果存在)小写), 全名前有可选的称谓(“Mr.,” “Mrs.,” “Ms.,” 或 “M.,”),姓氏没有什么 限制,允许有多个单词、横线、大写字母。

后记


这篇文章还会不停更新关于正则表达式的知识!
这是我第一次使用markdown编辑器写博客,跟大家分享一下markdown的使用教程(大神请勿鄙视)。

younghz的Markdown库。
简书献给写作者的 Markdown 新手指南

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...