re正则学习

news/2024/11/20 13:35:04/文章来源:https://www.cnblogs.com/aA528268523/p/18556670

import re

match 从开头开始匹配

re.match(正则表达式规则,要匹配的字符串)

result = re.match('tuling','tuling.cn')

print(result.group())

输出tuling

匹配单个字符

. 任意一个字符

res = re.match('.','M')

print(res.group())

输出M

[] 匹配列举的数据

res = re.match('[hH]ello','Hello')

print(res.group())

输出Hello

\d 匹配数字

res = re.match('\d','12312321')

print(res.group())

输出 1

\D 匹配非数字

res = re.match('\D','qwe')

print(res.group())

输出 q

\s 匹配空白

res = re.match('\s',' ')

print(res.group())

输出空白

\S 非空白

res = re.match('\S','123')

print(res.group())

# 输出1

\w 匹配非特殊字符 a-z,A-Z,0-9 - 汉字

res = re.match('\w','asdsad')

print(res.group())

#输出 a

\W 匹配特殊字符

res = re.match('\W','!')

print(res.group())

输出 !

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

match 从头开始匹配数据 数据不多的情况下 账号 密码

re.match()

从数据中找到一个

res = re.search('\d','afsfsds122312dwda')

print(res.group())

输出 1

findall 匹配所有的数据

res = re.findall('\d','asfds1fs1212313')

print(res)

# 输出['1', '1', '2', '1', '2', '3', '1', '3']

替换数据

res = re.sub('\d','_','asfds1fs1212313')

print(res)

输出 asfds_fs_______

创建正则表达式

p = re.compile('\d')

res = p.findall('asfds12312fsasd')

print(res)

# 输出['1', '2', '3', '1', '2']

修饰符

re.S . 匹配任意字符 不包含换行

res = re.match('a.a','aaa')

print(res.group())

aaa

res = re.match('a.a','a\na',re.S)

print(res.group())

输出 a

a

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

* 匹配前面一个字符 有0次出现或者无限次

为前面这个字符服务

res = re.match('a*','aaas12312dsdsdsaaa')

print(res.group())

输出 aaa

+ 匹配前面的字符出现 出现1次或者无限次

res = re.match('\d+','1111123asdasds')

print(res.group())

# 输出11111

? 出现0次,或者1次

res = re.match('https?','http')

print(res.group())

# http

{} 指定次数

匹配9位的密码可以是小写字母和数字 和下划线

res = re.match('[a-z0-9_]{9}','asdasd123fedwdfdf124')

print(res.group())

输出 asdasd123

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

从头匹配 ^

匹配所有以数字开头的数据 ^\d

res = re.match('^\d.*','2324asdsdwada',re.S)

print(res.group())

2324asdsdwada

结尾 $

匹配所有以数字结尾的数据

res = re.match('.*\d$','dasdsdsfsd12312')

print(res.group())

dasdsdsfsd12312

指定数据开头

匹配所有a,b,c开头的数据

res = re.match('[1].*','acsdasdsdad')

print(res.group())

acsdasdsdad

匹配所有a,b,c开头的数据

res = re.match('[^abc].*','sdasdsdad')

print(res.group())

# sdasdsdad

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

| 匹配左右两边任意一个字符 匹配ab开头的数据

res = re.match('(a|b).*','aabww123s') #basdasd

print(res.group())

# aabww123s basdasd

() 分组

匹配163,qq邮箱

res = re.match('[0-9a-zA-Z_]{4,14}@(qq|163|sina).com','123456@163.com')

print(res.group())

\num 取出分组信息

匹配标签内容 "hh"

res = re.match('<[a-zA-Z1-6]+>(.*)</[a-zA-Z1-6]+>',"hh")

print(res.group(1))

# hh

需求 "

www.tuling.cn

"

res = re.match('<([a-zA-Z1-6]+)><([a-zA-Z1-6]+)>.*</\2></\1>','

www.tuling.cn

')

print(res.group())

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

转义

print(r'\n')

匹配中文

pattern = re.match('[\u4e00-\u9fa5]+','你好')

print(pattern.group())

finall 匹配的数据 展示的是括号里面的内容 其他的都没有

aa = re.findall('(\d+)\w','asdas12312312dasd222a')

print(aa)


  1. abc ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/837307.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

登录对话框

1.粉红(1)显示   (2)格式/**该页面为粉红色皮肤 *//*背景*/ #frame_background{ border-image:url(:/res/pic/background-1.png); }/*登录背景*/ #frame_login{background-color:#ffffff}/*右侧图片*/ #frame_pic{background-image:url(:/res/pic/1.png);} /*账户和密码框…

Windows注册表增加右键多级菜单

前言全局说明一、说明 环境: Windows 11 家庭版 23H2 22631.3737Windows 7 旗舰版二、注册表说明 2.1 项说明 HKEY_CLASSES_ROOT*:系统所有文件,右键系统任一文件都会添加右键菜单 HKEY_CLASSES_ROOT\.txt:在.txt文件,添加右键菜单 HKEY_CLASSES_ROOT\AllFilesystemObjects…

关于使用Pycharm新建flask项目 from flask 红色波浪线解决办法

首先保证 flask已经安装 pip install flask如果依旧报红,依次打开:设置->项目:->项目结构点击 添加内容根 选择当前项目的.venv/Lib/site-packages最后应用保存

Day34--方法的重写

Day34--方法的重写 override 重写 重写是方法的重写,和属性无关 示例: 创建下面三个java文件,并在A.java B.java里面创建方法,Application里面初始化A并引用test方法 ​ A类是B类的子类 package com.liu.oop.demo05;public class A extends B{public static void test…

分享三个选股思路: 元宝底、多维共振、短线金叉

分享三个选股思路: 元宝底、多维共振、短线金叉 作者: 深海游鱼 QQ:396068801 日期:2024年11月 1.元宝底:三条短线快速形成金叉时,是短线追涨买点。 2. 多维共振: 最价金叉+Macd水上金叉,也是短线买点,如果能回踩接人更好。 3. 短线金叉: 三条短期均线聚拢,首日形…

(1)环境准备

前言 暑假趁着打折买的7020,一直到现在(2024年11月20日12:56:06)才打开,然后今天心血来潮准备那驱动啥的都捯饬一下,顺便这几天再看一看有些操作,免得后面用的时候才临时去弄 设备连接 如下图,很方便,直接一根type-c线就搞定了,因为这玩意的下载器直接集成在开发板上了…

SUMO文档阅读——PlainXML

Tutorials https://sumo.dlr.de/docs/Tutorials/index.html net.xml (道路设置) 和 route.xml (车类型设置 + 车流量设置) + .sumocfg (综合前两个xml文件) 十字路口的例子 https://sumo.dlr.de/docs/Networks/PlainXML.html Tools https://sumo.dlr.de/docs/Tools/#tools_by_…

大学减负小技巧

一切仅供学习研究参考。 方法有很多,这里只提供本人认为最方便的手段。 一.脚本刷网课 以Edge浏览器,超星学习通为例 1. 下载脚本管理器,这里使用篡改猴 (Tampermonkey)第二个,下载安装,并固定到工具栏 2.下载合适的脚本,这里推荐这个extension://iikmkjmpaadaobahmlepel…

国产数据库oceanBbase,达梦,金仓与mysql数据库的性能对比 一、比对方法和结果

最近调研了三款国产化数据库与mysql做对比,调研主要性能指标是大数据写入速度、大数据读取速度以及是否支持分表。 一、测试结果 测试结果与预期的差别很大 1、先说oceanBase社区版这款数据库官网上描述性能非常好,感觉可以秒杀mysql,但实际测试结果单节点的情况下,和…

Moebius for SQL Server

Moebius(莫比斯)介绍 Moebius数据库多活集群是格瑞趋势为SQL Server数据库研发的能够同时满足可用性、数据安全、容灾、读写分离、负载均衡的一站式多活集群。集群的名字取自Moebius环,寓意无限扩展。Moebius采用“share nothing”架构,每个节点的SQL Server服务独立安装,…

母亲的回头

写在前面392 字 | 亲情 | 思考 | 陪伴 | 细节 | 情感 | 感触 | 体验 | 时间正文等车。我说,自己一个人就可以了,都等,空耗两个人的时间。母亲不肯。司机迟到了十多分钟。这过程中,母亲很焦急。我上了车。母亲敲了敲司机的车窗。司机将窗摇下来,听见她问收不收现金。司机点…

[68] (NOIP集训) NOIP2024 加赛 5

恐将成为我改题时间最长的一场(也是分最低的一场)码长断崖式领先了 flowchart TBA(暴力操作)style A color:#ffffff,fill:#00c0c0,stroke:#ffffff 首先你肯定要让小于(等于)中位数的数变小,将较大的值变小是毫无意义的,因为即使你完全不管他们,也不会对答案造成任何影响…