前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python正则表达式语法_re正则表达式语法

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

作者头像
全栈程序员站长
发布2022-11-09 17:33:37
5380
发布2022-11-09 17:33:37
举报

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、使用管道符,加上小括号!()

代码语言:javascript
复制
**** :  正则语法:不允许多任何东西! 空格 杂七杂八的东西

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

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

print(data)

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

代码语言:javascript
复制
    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: 匹配非空格

代码语言:javascript
复制
    \r \n: 换行  \t: 4个空格!

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

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

print(data)

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

代码语言:javascript
复制
    . : 代表任意字符       任意字符可以出现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.cn/186334.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月3日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • python 正则表达式的语法及使用
  • 最重要的就是(.*?)
  • str = “At the touch of love, the man becomes a poet.”
  • # 每个恋爱的男人,都是诗人! 男人的嘴,骗人的鬼!
  • data = re.findall(r’woman’, str)
  • print(data)
  • data = re.findall(r’^Lies’, str)[0]
  • print(data)
  • data = re.findall(r’bayonet$’, str)
  • print(data)
  • data = re.findall(r’1[0-9]{10}’, str)
  • print(data)
  • data = re.findall(r’(Python|Java)’, str)
  • print(data)
  • data = re.findall(r’\d+’, str)
  • print(data)
  • data = re.findall(r’\w+’, str)
  • print(data)
  • data = re.findall(r’\W+’, str)
  • print(data)
  • data = re.findall(r’\s+’, str)
  • print(data)
  • data = re.findall(r’看(.*?)I’, str_1)
  • print(data)
  • 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)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档