58-正则表达式

1. 概念

复制代码
 正则表达式是一种用来匹配字符串的强有力的武器.
 设计思想:用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,就认为它"匹配"【合法】否则就是不匹配[不合法]
 举例:
   beijinglishao@163.com

2. 规则

复制代码
1.行定位符:

'HiPython Hi 刘庆东老师'
'^Hi' 匹配以Hi开始的字符串

'老师$' 匹配以老师结尾的字符串

2.元字符

  1. 限定符

    复制代码
    4.字符类
    [aeiou]匹配元音 
    [\u4e00-\u9fa5] 匹配汉字的

    5.排除类
    [^a-zA-z]

    6.选择字符
    |
    [a-z]|[0-9]

    7.转义字符

    [1-9]{1,3}.

    8.分组
    ()
    (.[0-9{1,3}]){3}

3. 使用正则表达式

复制代码
使用re模块 
1、re.compile(pattern,flags = 0 )
将正则表达式模式编译为正则表达式对象,可使用match(),search()以及下面所述的其他方法将其用于匹配

2、re.search(pattern,string,flags = 0 )
  扫描字符串以查找正则表达式模式产生匹配项的第一个位置 ,然后返回相应的match对象。None如果字符串中没有位置与模式匹配,则返回;否则返回false。请注意,这与在字符串中的某个点找到零长度匹配不同


3、re.match(pattern,string,flags = 0 )
如果字符串开头的零个或多个字符与正则表达式模式匹配,则返回相应的匹配对象。None如果字符串与模式不匹配,则返回;否则返回false。请注意,这与零长度匹配不同。

代码演示:

bash 复制代码
import re #1.引入re模块

#2.定义校验手机号的正则表达式   11 13*+8位
pattern = r'(13[4-9]\d{8})$|(15[01289]\d{8})$'

#3.提供要校验的手机号码
#mobile = '13612345678'
mobile = '15812345678'
# 4.使用规则匹配字符串
match=re.match(pattern,mobile)
if match==None:
    print(mobile,"不是有效的中国移动手机号码")
else:
    print(mobile, "是有效的中国移动手机号码")




------------------------------------

import  re


pattern = r'(黑客)|(抓包)|(监听)|(Liushao)'  # 模式字符串

#about="我是一名程序员,我喜欢看黑客方面的图书,最近研究Liushao老师出的一本书"

about="我是一名程序员,我喜欢看计算机网络方面的图书,我喜欢开发网站,监听罗老师"

searchs=re.search(pattern,about) #进行模式匹配

if searchs==None:#没有一个匹配的情况下
    print(about,"安全!!!")
else: #任意规则符合的情况
    print(about,"出现了漏洞@@@")
相关推荐
weixin_BYSJ198713 分钟前
SpringBoot + MySQL 乒乓球运动员信息管理系统项目实战--附源码04954
java·javascript·spring boot·python·django·flask·php
观远数据29 分钟前
ChatBI选型对比:从意图识别到SQL修复,六个维度打分决定是否值得投产
数据库·人工智能·sql
嘉&年华31 分钟前
【第008篇】通过dexp和dimp命令导出和导入dmp文件(适用于达梦数据库)
数据库·sql
EQUINOX12 小时前
【论文阅读】| MoCo精读
论文阅读·人工智能·python·深度学习·机器学习
哥是强混2 小时前
Means:基于 .NET 10 打造的开源自部署 S3 兼容对象存储服务
网络·数据库·.net
ffqws_2 小时前
redis面试:如何保证双写一致
数据库·redis·缓存
水无痕simon2 小时前
6 数据库同义词
数据库
用户8356290780512 小时前
使用 Python 自动化 Excel 公式和函数:完整指南
后端·python
敲代码的嘎仔3 小时前
实习日志day6--实习日志day6--title命名规范化&businessType纠正&补充缺失的@Log注解&报警与通信模块补充&产出阶段总结文档
java·开发语言·人工智能·git·python·实习·大二
江华森3 小时前
Python 实现高德地图找房(一):环境搭建与数据爬虫
开发语言·爬虫·python