Python进阶知识:整理6 -> 正则表达式

这篇具有很好参考价值的文章主要介绍了Python进阶知识:整理6 -> 正则表达式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 基础匹配用法

# 演示Python中正则表达式re模块的3个基础匹配方法
import re
# 1. match()方法  从头匹配
string = "hello world"
result = re.match("hello", string)   # 如果头部没有匹配成功就直接失败了,后面就不会继续匹配了
print(result)
print(result.group())
print(result.span())
print("--------------------")



# 2. search()方法  搜索匹配
s1 = "python11888999python"
result = re.search("python", s1)   # 搜索整个字符串,找到第一个匹配的,并返回结果
print(result)
print(result.group())
print(result.span())
print("----------------------")




# 3. findall()方法  搜索匹配所有,返回一个列表
s2 = "python11888999python"
result = re.findall("python", s2)
print(result)
print("--------------------")

Python进阶知识:整理6 -> 正则表达式,Python,python文章来源地址https://www.toymoban.com/news/detail-803207.html

2 元字符匹配

"""
    字符            功能
     .             匹配任意1个字符(除了\n), \. 匹配点本身
     [...]         匹配[]中列举的字符, 字符集合, [0-9a-zA-Z_], [a-z], [0-9], [...]
     \d            匹配数字, [0-9]的简写
     \D            匹配非数字, [^0-9]的简写
     \w            匹配字母或数字或下划线, [a-zA-Z0-9_]的简写
     \W            匹配非(字母或数字或下划线), [^a-zA-Z0-9_]的简写
     \s            匹配空白, [ \t\n\x0b\r]的简写, 即空格, tab键
     \S            匹配非空白, [^ \t\n\x0b\r]的简写
     [^...]        匹配除了[]中列举的字符之外的字符, 反向字符集合, [^0-9], [^a-zA-Z_]
"""

import re
s = "itheima @@ Python2 !!999 # It"
result = re.findall(r"\d", s)    # 加上 r 可以表示字符串中的转义字符无效
print(result)
print("---------------------")

result2 = re.findall(r"\W", s)  # 非单词字符
print(result2)
print("---------------------")

# 匹配所有的英文字母
result3 = re.findall(r"[a-zA-Z]", s)
print(result3)


"""
    数量匹配:
     *             匹配*号 前的字符 0次或无数次
     +             匹配+号 前的字符 1次或无数次
     ?             匹配?号 前的字符 0次或1次
     {m}           匹配{m} 前的字符 出现m次
     {m,}          匹配{m} 前的字符 出现最少m次
     {m,n}         匹配{m,n} 前的字符 出现 m到n次
"""

"""
    边界匹配:
     ^             匹配一行字符串的开头
     $             匹配一行字符串的结束
     \b            匹配一个单词的边界
     \B            匹配非单词边界
"""

"""
    分组匹配:
      |            匹配左右任意一个表达式
     (...)         分组, 将 ()中的内容作为一组, (abc.efs), (a|b|c)   
"""




# 案例:  (注意: 正则表达式中千万不要随意价格空格)
# 1. 匹配账号: 只能由字母数字组成,长度限制6-10位
r = '^[a-zA-Z0-9]{6,10}$'
s = '1232dfgf'
result = re.findall(r, s)
print(result)
print('---------------------')



# 2. 匹配QQ号, 要求纯数字, 长度5-11,第一位不为0
r = '^[1-9][0-9]{4,10}$'    # {4,10} 开头已经占了一位了
s_qq = '329809378'
result_qq = re.findall(r, s_qq)
print(result_qq)
print('---------------------')




# 3. 匹配邮箱地址,只允许请qq 、163、gmail这三种邮箱地址
# abc.ghs.edu@qq.com
# abc.ghs.edu@qq.jsx.ss.com
# abc.@163.com
r = '^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+$'
s = 'abc.ghs.edu@qq.com'
result = re.findall(r, s)   # findall  会返回正则中的分组 ()   -> [('.edu', 'qq', '.com')]
# 所以需要整体再放入一个组中
r = '(^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+$)'
result_all = re.findall(r, s)
result_match = re.match(r, s)
print(result_match)
print(result_all)
print("----------------------")

到了这里,关于Python进阶知识:整理6 -> 正则表达式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Python正则表达式之学习正则表达式三步曲

            正则表达式描述了一种字符串匹配的模式,可以用来检查一个串的有无某子串,或者做子串匹配替换,取出子串等操作。也可以说正则表达式就是字符串的匹配规则,也可以理解为是一种模糊匹配,匹配满足正则条件的字符串。         1、数据验证(eg:表单验

    2024年02月15日
    浏览(49)
  • python正则表达式-正则基础

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

    2024年02月05日
    浏览(34)
  • 老夫的正则表达式大成了,桀桀桀桀!!!【Python 正则表达式笔记】

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

    2024年02月04日
    浏览(47)
  • PYthon正则表达式

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

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

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

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

    2024年01月22日
    浏览(39)
  • python之正则表达式

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

    2024年02月14日
    浏览(32)
  • Python正则表达式(小结)

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

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

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

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

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

    2024年02月09日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包