正则表达式

发布时间 2023-11-28 23:54:15作者: 我才是最帅的那个男人
一,正则表达式
  特点,贪婪匹配,它会在允许的范围内取最长的结果。
在应用方面只和字符串打交道。具体应用途径:
1.把一个文件中所有的手机号码都找出来,需要从大段的文字中找到符合规则的内容 # open打开文件
    # 读文件 str
# 从一长串的字符串中找到所有的11位数字
# 一个字符一个字符的读
2.输入手机号
# 验证这个手机号是否合法
# 给这个手机号发送一个验证码
# 用户收到验证码 填写验证码
# 完成注册

# 正则表达式
# 从大段的文字中找到符合规则的内容
# 爬虫 从网页的字符串中获取你想要的数据
# 日志分析 提取 2018-8-12 10:---- 花的所有钱
# 什么是日志 :
# 2018-8-12 10:00:00 楼下早点摊 3.00
# 判断某个字符串是否完全符合规则
# 表单验证 : 手机号 qq号码 邮箱 银行卡 身份证号 密码
二,字符组
[0-9] 匹配数字
[a-z] 匹配小写字母
[A-Z] 匹配大写字母
[a-zA-Z] 匹配大小写字母
[a-zA-Z0-9] 匹配大小写字母+数字
[a-zA-Z0-9_] 匹配数字字母下滑线
 

 

 

 

 

 

 

 

 

 

三,元字符

\w  匹配数字字母下滑线(等于[a-zA-Z0-9_])
 \d 匹配所有的数字(等于[0-9])
\s 

匹配所有的空白符(等于回车/换行符 制表符 空格   space  [\n\t ])

# 匹配换行符 回车 \n
# 匹配制表符 tab \t
# 匹配空格

\W \D \S 和\w \d \s取反

# [\s\S] [\d\D] [\w\W]是三组全集 意思是匹配所有字符

 \b  表示单词的边界
   总结为:\w \d \s(\n\t) \b \W \D \S
 ^  匹配一个字符串的开始
 $  匹配一个字符串的结束
 .   表示匹配除换行符之外的所有字符
  []  只要出现在中括号内的内容都可以被匹配
[^]   只要不出现在中括号中的内容都可以被匹配(有一些有特殊意义的元字符进入字符组中会回复它本来的意义 : . | [ ] ( ))
 a|b

 或  符合a规则的或者b规则的都可以被匹配

# 如果a规则是b规则的一部分,且a规则比b规则要苛刻/长,就把a规则写在前面
# 将更复杂的\更长的规则写在最前面

 ()   分组  表示给几个字符加上量词约束的需求的时候,就给这些量词分在一个组

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

三,量词

{n} 表示 这个量词之前的字符出现n次
{n,}  表示这个量词之前的字符至少出现n次
{n,m} 表示这个量词之前的字符出现n-m次
? 表示匹配量词之前的字符出现 0次 或者 1次 表示可有可无
+ 表示匹配量词之前的字符出现 1次 或者 多次
* 表示匹配量词之前的字符出现 0次 或者 多次

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   
正则 待匹配字符   匹配结果 说明 
 李      
       
       
       

 

 

 

 

 

 

 

 

 

 

 

 

 总结: