python之[正则表达式]--通配符使用方法(最新可用)

这篇具有很好参考价值的文章主要介绍了python之[正则表达式]--通配符使用方法(最新可用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【前沿查看】

. 匹配任意字符,除了换行符
^ 匹配字符串开始的位置
$ 匹配字符串结束的位置,当出现多组符合的匹配时,返回字符串最后的那组匹配
* 匹配 0,1,n 次前面的原子【贪婪模式:尽可能多的匹配】
? 匹配 0,1 次前面的原子【懒惰模式:精确匹配】
+ 匹配 1,n 次前面的原子
\w+ 匹配字母数字及下划线
\d+ 匹配任意数字,等价于 [0-9]
[a-z]+ 匹配任何小写字母
[^a-z]+ 匹配除了小写字母的其他字符
{ j } 前面的原子出现 j 次
{ j , } 前面的原子至少出现 j 次
{ j , k } 前面的原子至少出现 j 次,至多出现 k 次
i | j 匹配 i 或 j ,若 i 与 j 同时出现,匹配 i 
( ) 组,限制这组数据的组合如()内所描述一样,只返回符合括号内描述的内容

一、导入re库

import re

二、通配符基本用法

(1)通配符匹配

txt = '请找出小猫吧,找出小猫吧,出小猫吧'
cat = re.findall('出(.*?)吧',txt)
print(cat)   # ['小猫', '小猫', '小猫']
print(cat[0])  # 小猫

(2)多条件通配符匹配

txt = '请找出小猫吧,找出小猫好吗,出小猫啦'
cat = re.findall('出(.*?)[吧|好|啦]',txt)
print(cat)  # ['小猫', '小猫', '小猫']

(3)通配符标记匹配

txt = '请找出小猫1,\n利用这个标记①,不要找出小猫2,'
cat = re.findall("出(.*?),.*?①",txt.replace("\n",""))[0]   # .* 无法匹配换行符,固要将换行符替换掉再匹配(或者字符串前加r转义掉)
print(cat)  # 小猫1

三、匹配数字

(1)匹配字符串所有数字

txt = "{'k':123,'k':12345,'k':1234567}"
num = re.findall('\d+',txt)
print(num)  # ['123', '12345', '1234567']

(2)只匹配5位的数字

txt = "{'k':123,'k':12345,'k':1234567}"
num = re.findall(r'\b\d{5}\b',txt)[0]
print(num)  # 12345

(3)匹配5~7位的数字

txt = "{'k':123,'k':12345,'k':1234567}"
num = re.findall(r'\b\d{5,7}\b',txt)
print(num)       # ['12345', '1234567']

四、英文匹配

(1)匹配英文、数字、下划线(_)

txt = "{'k':123,'k':12345,'k_':1234567}"
word = re.findall('\w+',txt)
print(word)  # ['k', '123', 'k', '12345', 'k_', '1234567']

(2)匹配全英文字母

txt = "{'A':123,'b':12345,'cc':1234567}"
word = re.findall('[a-zA-Z]+',txt)
print(word)  # ['A', 'b', 'cc']

(3)匹配数字+英文小大写

txt = "{'A':123,'b':12345,'c':1234567}"
word = re.findall('[0-9a-zA-Z]+',txt)
print(word)  # ['A', '123', 'b', '12345', 'c', '1234567']

(4)匹配数字+英文的32位秘钥

key = re.findall('\b[0-9a-zA-Z]{32}\b',txt)

五、中文匹配

(1)匹配中文

txt = "你好,世界,hello world,123"
num = re.findall('[\u4e00-\u9fa5]+',txt)
print(num)  # ['你好', '世界']

六、匹配非、特殊字符(前加^)

(1)匹配非数字

txt = "abc123一二三"
word = re.findall('[^0-9]+',txt)
print(word)  # ['abc', '一二三']

(2)非法文件名替换文章来源地址https://www.toymoban.com/news/detail-722223.html

file_name = '文件//:\|名.xlsx'
file_name = re.sub(r'[\\/:*?"<>|]','',file_name)
print(file_name)  # 文件名.xlsx

到了这里,关于python之[正则表达式]--通配符使用方法(最新可用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 老夫的正则表达式大成了,桀桀桀桀!!!【Python 正则表达式笔记】

    特殊字符 .^$?+*{}[]()| 为特殊字符,若想要使用字面值,必须使用 进行转义 字符类 [] [] 匹配包含在方括号中的任何字符。它也可以指定范围,例: [a-zA-Z0-9] 表示a到z,A到Z,0到9之间的任何一个字符 [u4e00-u9fa5] 匹配 Unicode 中文 [^x00-xff] 匹配双字节字符(包括中文) 在 [] 中

    2024年02月04日
    浏览(58)
  • 机器学习与数据科学-专题1 Python正则表达式-【正则表达式入门-1】

    为了完成本关任务,你需要掌握: 在 Python 中使用正则表达式; 最基础正则表达式; 正则匹配函数。 在 Python 中使用正则表达式 正可谓人生苦短,我用 Python。Python 有个特点就是库非常多,自然拥有正则匹配这种常见的库,并且此库已经嵌入在 Python 标准库中,使用起来非常

    2024年01月22日
    浏览(58)
  • python正则表达式-正则基础

    目录 一、任一元素 二、匹配特定的字符类别          1、d  w 三、多个元素          1、两位元素 [][]          2、* + ?          3、重复次数 {}          4、位置匹配 ^ $          5、子表达式()         []:1、[ab] 匹配a或b;        2、[0-9] 匹配任意一个数

    2024年02月05日
    浏览(45)
  • python 正则表达式

    2024年01月17日
    浏览(54)
  • PYthon正则表达式

    正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则

    2024年01月17日
    浏览(45)
  • Python正则表达式(小结)

    正则表达式(regular expression,有时简写为RegEx 或 regex)就是用一组由字母和符号组成的“表达式”来描述一个特征,然后去验证另一个“字符串”是否符合/匹配这个特征。 (1)验证字符串是否符合指定特征,比如验证邮件地址是否符合特定要求等; (2)用来查找字符串,

    2024年02月05日
    浏览(42)
  • python之正则表达式

    目录 正则表达式 python正则表达式方法  match search findall finditer compile 元字符匹配 元字符 量词 贪婪匹配和惰性匹配 正则表达式的group 语法 案例  正则表达式又称规则表达式,是使用单个字符串来描述、匹配某个句法规则的字符串,常被用来检索、替换那些符合某个模式的文

    2024年02月14日
    浏览(44)
  • Python 正则表达式转义

    这篇文章是关于 Python 正则表达式转义的。 此外,我们将介绍 Python 正则表达式转义以及如何通过适当的示例代码使用它,以及 Python 正则表达式的多种用途。 此外,Python 支持使用正则表达式(或正则表达式)对字符串进行搜索和替换操作。 RegEx 是一种根据预定义模式匹配文

    2024年02月09日
    浏览(38)
  • 速通Python正则表达式

    几乎所有语言中的正则表达式都有相类似的语法,python亦莫能外。 接下来直观地看一下最常用的的三大函数 其中, re.match 要求从头匹配; search 可以从任意位置匹配,但只返回第一个匹配的值的位置; findall 返回所有符合要求的值。 任意字符 . 匹配除了换行符之外的所有字

    2024年02月06日
    浏览(46)
  • Python高级教程(1)——正则表达式(re.match、re.search、re.sub、compile、findall、finditer、split)、正则表达式对象、正则表达式实例

    正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 (1)re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none。 函数语法: 通过re.match匹配成功,可以使⽤group⽅法来提取数据

    2024年02月04日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包