Python正则表达式语法_re正则表达式语法

Python正则表达式语法_re正则表达式语法python正则表达式的语法及使用概念:按照程序员的指示,字符串里提取你要的数据。应用:爬虫清洗数据,匹配电话,匹配邮箱,匹配账号……最重要的就是(.*?)正则语法(元字符)1、?:前面的内容出现0-1次2、+:前面的内容出现1-多次3、*:前面的内容出现0-多次‘’’正则(Regular):记住的点:1、(.?)2、re.findall()结果是一个列表3、用(.?)的是后,一定要复制,而不是手敲!‘’’importre‘’’正则语法(普通字符):

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

python 正则表达式的语法及使用

概念:
按照程序员的指示,字符串里提取你要的数据。
应用:
爬虫清洗数据,匹配电话,匹配邮箱,匹配账号……

最重要的就是(.*?)

正则语法(元字符)
1、?:前面的内容出现0-1次
2、+ :前面的内容出现1-多次
3、* : 前面的内容出现0-多次

‘’’
正则(Regular):
记住的点:
1、(.?)
2、re.findall() 结果 是一个列表
3、用(.
?)的是后,一定要复制,而不是手敲!
‘’’
import re

‘’’
正则语法(普通字符):
直接写的内容就是普通匹配!
re.findall(
参数1: 正则语法
参数2: 字符串文本
)
list index out of range: 下标越界
空列表,能去下标?
‘’’

str = “At the touch of love, the man becomes a poet.”

# 每个恋爱的男人,都是诗人! 男人的嘴,骗人的鬼!

data = re.findall(r’woman’, str)

print(data)

‘’’
正则语法(元字符):
1、^: 匹配开始
2、$: 匹配结尾
‘’’
str = “Lies don’t hurt, truth is the bayonet Lies bayonet”

data = re.findall(r’^Lies’, str)[0]

print(data)

data = re.findall(r’bayonet$’, str)

print(data)

‘’’
正则语法(元字符):
{10} :{}代表前面的字符出现10次数
不能通用匹配的问题!
1、手机一定用1开头
2、手机一定11位号码
选择用[]
‘’’
str = r’Jame:15659264582bir200001110052’

data = re.findall(r’1[0-9]{10}’, str)

print(data)

‘’’
正则语法(元字符):
1、|:管道符! 或
2、使用管道符,加上小括号!()

**** :  正则语法:不允许多任何东西! 空格 杂七杂八的东西

‘’’
str = r’小姐姐喜欢Python, 小妹妹喜欢Java, C++’

data = re.findall(r’(Python|Java)’, str)

print(data)

‘’’
正则语法(元字符):digital: 数字!
\d: 匹配数字 代表1个数字!
\D: 匹配非数字

    1、?:前面的内容出现0~1次
    2、+ :前面的内容出现1~多次
    3、* :前面的内容出现0~多次

‘’’
str = ‘Mysql:3306,http:88’

data = re.findall(r’\d+’, str)

print(data)

‘’’
正则语法(元字符): word:普通字符
\w: 普通字符 字母,数字 … 一个普通字符
\W: 匹配非普通字符 *)$@^#

*str = ‘serve=? )$@^#8888你好’

data = re.findall(r’\w+’, str)

print(data)

data = re.findall(r’\W+’, str)

print(data)

‘’’
正则语法(元字符):space: 空格
\s: 匹配空格
\S: 匹配非空格

    \r \n: 换行  \t: 4个空格!

‘’’
str = ‘hello \r \n \t word’

data = re.findall(r’\s+’, str)

print(data)

‘’’
正则语法(元字符):要求一个正则表达式匹配两句话 前面有内容(.*?)后面也要有内容
. : 代表任意字符
[]:选择!

    . : 代表任意字符       任意字符可以出现0~多个
    * : 0~多
    
    3、用(.*?)的时候,一定要复制,而不是手敲!

‘’’
str_1 = “你这个女人长得真好看?I love you!”
str_2 = “你这个男人长得真的丑!I hate you!”

data = re.findall(r’看(.*?)I’, str_1)

print(data)

‘’’
正则语法(元字符):
re.S: 匹配换行符,通常用来抓小说!
1、带\r \n的内容提出来
2、\r, \n 用re.sub()替换成空
形成了完整的字符串!
‘’’

str = “老娘们,你为什么长的这么丑,\n I hate \n\r you!”

data = re.findall(r’老娘们,(.*?)!’, str, re.S)[0]

print(data)

data_1 = ‘老娘们’ + re.sub(’(\n|\r)’, ‘’, data)

print(data_1)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186334.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 致CSDN读者的一些话:感恩这十年的陪伴,不负遇见,短暂消失

    致CSDN读者的一些话:感恩这十年的陪伴,不负遇见,短暂消失有人说,世间一切,都是遇见,都是机缘。是啊,因为CSDN,我与很多人成为了好朋友,虽未谋面,但这种默默鼓励、相互分享的感觉真好;因为CSDN,我人生进度条八分之一(十年)的许多故事在这里书写,笔耕不辍,也算不得辜负时光吧;因为CSDN,我更珍惜每一位博友、每一位朋友、每一位老师,解答大家的问题,鼓励考研或找工作失败的人继续战斗;因为CSDN,我认识了女神,并分享了许多我们一家的故事。感恩遇见,不负青春。

    2022年5月30日
    28
  • MessageDigest简单介绍

    MessageDigest简单介绍本文博客原文參考文章:http://blog.sina.com.cn/s/blog_4f36423201000c1e.html一、概述java.security.MessageDigest类用于为应用

    2022年6月30日
    19
  • Spark Streaming特点「建议收藏」

    Spark Streaming特点「建议收藏」SparkStreaming特点1、易用2、容错3、易整合到Spark体系4、SparkStreaming与Storm的对比SparkStreamingStorm开发语言:Scala开发语言:Clojure编程模型:DStream编程模型:Spout/Bolt喜欢就点赞评论…

    2022年6月24日
    30
  • ThreadPoolExcutor(线程池)

    ThreadPoolExcutor(线程池)1、概念:   用于管理java的多线程。线程的生命周期包括创建、就绪、运行、阻塞、销毁,当有大量的线程任务需要创建时,内存的开销就大了,此时,使用线程池,在一定程度上能够很好的缓解线程的大开销。2、优势:    (1)降低资源消耗。通过重复利用已创建的线程降低线程创建、销毁线程造成的消耗。   (2)提高响应速度。当任务到达时,任务可以不需要等到线程

    2025年7月11日
    6
  • 微信公众平台定时群发系统(小懒人定时精灵篇)

    微信公众平台定时群发系统(小懒人定时精灵篇)  所谓微信公众平台定时群发系统就是在你一个时间内把你所要发布的文章都填好,然后在选择群发时间段。我最近在使用“小懒人定时精灵”,使用步骤方便,省了我好大部分的时间,听他们官方说现在正在丰富内容,期待以后有更多的功能。“小懒人定时精灵“解救了那些傻傻地守在电脑旁发送微信的人们,现在微信公众平台的推送也能定时群发了。预先到微信后台编辑一条包括文字、图片、语音、视频、图集,然后到小懒…

    2022年6月3日
    47
  • android 查看本地数据库「建议收藏」

    android 查看本地数据库「建议收藏」本片播客主要想给大家介绍一下我当时在学习sqlite数据库的时候,不能打开目录,查看不了数据表的问题。(没有代码的逻辑,纯操作!!)如果使用模拟器的话,一般不会出现这个问题。由于我(可能很多人)用的是真机,所以碰到了这个问题。去网上搜索了各种解决方案,有的说命令行,有的说Re管理器,反正我没处理好,最后突然另辟蹊径,解决了,而且效率不错。再次分享给大家。

    2022年5月31日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号