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
()    匹配括号内的表达式,也表示一个组
[^...]    匹配除了字符组中字符的所有字符

四、量词

 

 五、字符、量词等搭配使用

 

六、贪婪匹配和非贪婪匹配

 正则表达式默认是贪婪匹配

贪婪匹配:在满足匹配时,匹配尽可能长的字符串

非贪婪匹配:加上?为将贪婪匹配模式转为非贪婪匹配模式,会匹配尽量短的字符串

 

 

posted @   三三得九86  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示