首页 > 编程语言 >python模块2

python模块2

时间:2024-09-20 19:01:20浏览次数:1  
标签:匹配 python str1 re 模块 print import findall

python模块

一、python的re模块
1、正则匹配,使用re模块
2、正则表达式是一种对字符和特殊字符操作的逻辑公式,用正则表达字符来过滤的逻辑
3、re正则表达式作用:
快速高效查找和分析字符,进行匹配如:查找、比对、匹配、替换、插入、添加、删除等
二、认识正则表达式的特殊元素:
\d:数字0-9
\D:非数字
\s:空白字符
\n:换行符
\r:回车符re模块数量词匹配:
符号^:表示的匹配字符以什么开头
符号$:表示的匹配字符以什么结尾
符号:匹配前面的字符0次或n次
eg:ab* 能匹配a 匹配ab 匹配abb
符号+:匹配+前面的字符1次或n次
符号?:匹配?前面的字符0次或1次
符号{m}:匹配前一个字符m次
符号{m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是
正整数
(1)findall
从第一个字符开始查找,找到全部相关匹配为止,找不到返回一个列表[]
案例:
import re
str1="abcdeefgamn"
s=re.findall("e",str1)
print(s) #

(2)search
从第一个字符开始查找、一找到就返回第一个字符串,找到就不往下找,找不到则报错
案例:
import re
str1="abcdeefgamn"
s=re.search("a",str1)
print(s) #<re.Match object; span=(0, 1), match='a'>

3)match
从第一个字符开始匹配,如果第一个字符不是要匹配的类型、则匹配失败并报错
注意:如果规则带了'+' ,则匹配1次或者多次,无'+'只匹配一次
import re
str1="abcdeefgamn"
s=re.match("b",str1)
print(s) #None

三)实操

\d:数字0-9
案例:
import re
str1="abcd1eefga3m6n"
s=re.findall("\d",str1)
print(s) #['1', '3', '6']

\D:非数字
案例:
import re
str1="abc@#$d1eefga3m6n"
s=re.findall("\D",str1)
print(s) #['a', 'b', 'c', '@', '#', '$', 'd', 'e', 'e', 'f', 'g', 'a', 'm', 'n']

\s:空白字符
import re
str1="abcd1 eefg a3 m6n"
s=re.findall("\s",str1)
print(s) #[' ', ' ', ' ']

\n:换行符
import re
str1="abcd1 ee\nfg a3 m6\n n"
s=re.findall("\n",str1)
print(s) #['\n', '\n']

符号^:表示的匹配字符以什么开头
import re
str1="abcd"
s=re.findall("^a",str1)
print(s) #['a']

符号$:表示的匹配字符以什么结尾
import re
str1="abcd"
s=re.findall("d$",str1)
print(s) #['d']

import re
str1="abcd"
s=re.findall("a$",str1)
print(s) #[]

符号:匹配前面的字符0次或n次

import re
str1="abcd"
s=re.findall("a*",str1)
print(s) # #['a', '', '', '', '']

import re
str1="qpswabcd"
s=re.findall("a*",str1)
print(s)#['', '', '', '', 'a', '', '', '', '']

符号+:匹配+前面的字符1次或n次
import re
str1="abaaaacaad"
s=re.findall("a+",str1)
print(s) # ['a', 'aaaa', 'aa']

符号?:匹配?前面的字符0次或1次
import re
str1="abaaaacaad"
s=re.findall("a?",str1)
print(s)#['a', '', 'a', 'a', 'a', 'a', '', 'a', 'a', '', '']

import re
str1="abaaaacaad"
s=re.findall("b?",str1)
print(s)#['', 'b', '', '', '', '', '', '', '', '', '']

import re
str1="abaaaacaad"
s=re.findall("1?",str1)
print(s)#['', '', '', '', '', '', '', '', '', '', '']

符号{m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是正整数
import re
str1="aassaaabaaaacaaaaad"
s=re.findall("a{3,5}",str1)
print(s) #['aaa', 'aaaa', 'aaaaa']

\w 匹配[A-Za-z0-9]
import re
str1="aass!!aa#aa1aa1d"
s=re.findall("\w",str1)(小写w)
print(s) #['a', 'a', 's', 's', 'a', 'a', 'a', 'a', '1', 'a', 'a', '1', 'd']

import re
str1="aass!!aa#aa1aa1d"
s=re.findall("\W",str1) ( 大写W)
print(s)# ['!', '!', '#']

标签:匹配,python,str1,re,模块,print,import,findall
From: https://www.cnblogs.com/hutongxue/p/18423096

相关文章

  • 【Python-GUI图形化界面-PyQt5模块(2)】——QApplication核心模块
     本文旨在带大家学习Python中的一种GUI图形化界面模块——PyQt5模块,将为大家详细了解PyQt5模块中函数的参数和使用:一、PyQt5简介PyQt是Qt框架的Python语言实现,由RiverbankComputing开发,是最强大的GUI库之一。官方网站:www.riverbankcomputing.com、 本文比较倾向于教会......
  • 1,Python数分之Pandas训练,力扣,1783. 大满贯数量
    学习:知识的初次邂逅复习:知识的温故知新练习:知识的实践应用目录 一,原题力扣链接二,题干三,建表语句四,分析四,Pandas解答:五,验证六,总结 一,原题力扣链接.-力扣(LeetCode)二,题干表:Players+----------------+---------+|ColumnName|Type|+--------......
  • python下载知识
    PythonPython设置禁用路径长度限制的优缺点在本文中,我们将介绍如何设置禁用Python的路径长度限制,以及这样做的优点和缺点。阅读更多:Python教程什么是路径长度限制路径长度限制是指在操作系统中,文件或文件夹的路径字符数是有限制的。在Windows操作系统中,路径长度限制为260个......
  • A lightweight python package, alternative of pyscafford
    python_packagehttps://github.com/fanqingsong/python_packageDescriptionAproductionreadypythonlibrarytemplateMetadataanddependencyinformationisstoredinthepyproject.tomlforcompatibilitywithbothpipandpoetry.Flake8,pylint,andi......
  • 使用Python做一个微信机器人
    随着人工智能和自动化技术的快速发展,微信机器人已经成为越来越多人的选择。它们可以帮助我们自动回复消息、管理群组、发送定时消息等,极大地提高了我们的工作效率。而gewe,作为一款开源的微信机器人框架,为开发者提供了便捷的开发体验。接下来,让我们一步步打造属于自己的微信机器人。......
  • 我在 Marscode 用了 3 天,转行成为 Python 程序员
    以下是「 豆包MarsCode 体验官」优秀文章,作者不惑_。豆包MarsCode 项目实战Java程序员转行Python学习之路俗话说:工欲善其事,必先利其器。在历史的长河中,新手程序员最大的痛点之一就是搭建开发环境。先就是今天,如果你没有VSCode,甚至也没有其他IDE,那么也没有关系。豆包......
  • 16个必知必会的Python教程!
     介绍Python是一门用途广泛的编程语言,它具有大量的库和框架。有一些鲜为人知的Python编码技巧和库可以让你作为开发人员的工作更为轻松,编写代码更高效。本文中将探讨一些鲜为人知的Python技巧,这些技巧非常有用,但并不广为人知。通过学习和使用这些技巧,可以帮你节省时间......
  • IO模块:PLC数据采集的坚实后盾
    在现代工业自动化浪潮中,可编程逻辑控制器(PLC)作为控制系统的中枢,其数据采集与处理能力直接关乎生产线的效率与品质。而IO模块,作为PLC与外部世界的桥梁,其重要性不言而喻。明达技术,作为行业先锋,其IO模块在PLC数据采集领域的卓越表现,不仅强化了系统性能,更赋予了工业自动化前所未有的灵......
  • 【python爬虫案例】利用python爬取豆瓣读书评分TOP250排行数据
    一、爬取案例-豆瓣读书TOP250上一期给大家分享了个python爬虫案例:豆瓣电影TOP250的排行榜数据爬取【python爬虫案例】利用python爬虫爬取豆瓣电影评分TOP250排行数据!今天再给大家分享一下:豆瓣读书排行榜TOP250的python爬虫案例!因为是同一个网站,所以流程和逻辑上都是差不多的。......
  • python怎么打开编辑器
    1、在电脑开始菜单中点击所有程序,找到Python程序,点击其中idle。2、然后点击左上角的“File”,打开菜单,在下拉菜单中选择“NewFile”选项,就可打开python编辑器了。3、在打开的python编辑器中就可以输入自己想写的代码了。......