05_04、正则表达式
一、正则表达式简介
1、定义
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
正则表达式本身和python没有什么关系,就是匹配字符串内容的一种规则,在其他编程语言上也能使用
在Python中使用正则表达式,需要借助于re模块,re模块是python提供的一种简便操作正则表达式的模式,其他语言中没有
2、常用的正则表达式
国内手机号码:^(13|14|15|18)[0-9]{9}$
身份证号码:
数字:\d+\.?\d*
3、详细规则
接下来是解释补充:
二、字符组
1、语法格式:[字符组]
在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示
字符分为很多类,比如数字、字母、标点等等。
[0123456789]: 匹配0-9之间的任意一个数字
[0-9]:根上面的一模一样
[a-z]: 匹配a-z的26个小写英文字母
[A-Z]: 匹配A-Z的26个大写英文字母
[0-9a-zA-Z]:匹配大写字母和小写字母以及数字
三、字符
1、常用字符
. 匹配除换行符以外的任意字符 ***
\w 匹配字母或数字或下划线 **
\d 匹配数字 ****
\n 匹配一个换行符 **
^ 匹配字符串的开始 ****
$ 匹配字符串的结尾 ****
a|b 匹配字符a或字符b
() 匹配括号内的表达式,也表示一个组
[^...] 匹配除了字符组中字符的所有字符
四、量词
五、字符、量词等搭配使用
六、贪婪匹配和非贪婪匹配
正则表达式默认是贪婪匹配
贪婪匹配:在满足匹配时,匹配尽可能长的字符串
非贪婪匹配:加上?为将贪婪匹配模式转为非贪婪匹配模式,会匹配尽量短的字符串
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通