首页 > 编程语言 >Python正则表达式

Python正则表达式

时间:2024-09-06 10:51:14浏览次数:13  
标签:例如 匹配 字符 Python 正则表达式 字符串 re 任意

常用方法

  1. re.compile(pattern)

    • 编译正则表达式模式,返回一个模式对象,用于匹配操作。
    • 提高匹配效率,适用于多次匹配的情况。
  2. match()

    • 从字符串开头开始匹配,只有在字符串的开头匹配成功时,才返回匹配对象。
    • 常用于验证字符串是否符合某种模式。
  3. search()

    • 在字符串中搜索第一个匹配的子串,返回匹配对象。
    • 用于查找字符串中的某个模式。
  4. findall()

    • 返回所有匹配的子串,结果以列表的形式返回。
    • 用于获取字符串中所有符合模式的部分。
  5. group(n=0)

    • 从匹配对象中提取匹配的子串。
    • group(0) 返回整个匹配;group(1) 返回第一个捕获组,以此类推。

常用符号及其组合

  1. .

    • 匹配任意单个字符(除了换行符)。
    • 例如:a.b 匹配 "aab", "acb" 等,但不匹配 "ab"
  2. ^

    • 匹配字符串的开头。
    • 例如:^Hello 匹配以 "Hello" 开头的字符串。
  3. $

    • 匹配字符串的结尾。
    • 例如:world$ 匹配以 "world" 结尾的字符串。
  4. *

    • 匹配前面的字符 零次或多次
    • 例如:a* 匹配空字符串、"a", "aa" 等。
  5. +

    • 匹配前面的字符 一次或多次
    • 例如:a+ 匹配 "a", "aa", "aaa" 等,但不匹配空字符串。
  6. ?

    • 匹配前面的字符 零次或一次
    • 例如:a? 匹配空字符串、"a"
  7. {n}

    • 匹配前面的字符 恰好 n 次
    • 例如:a{3} 匹配 "aaa"
  8. {n,}

    • 匹配前面的字符 至少 n 次
    • 例如:a{2,} 匹配 "aa", "aaa", "aaaa" 等。
  9. {n,m}

    • 匹配前面的字符 至少 n 次,至多 m 次
    • 例如:a{2,4} 匹配 "aa", "aaa", "aaaa"
  10. []

    • 匹配方括号中的任意字符。
    • 例如:[abc] 匹配 "a", "b", "c" 中的任意一个。
  11. |

    • 表示逻辑“或”,匹配左右任意一侧的表达式。
    • 例如:a|b 匹配 "a""b"
  12. ()

    • 用于分组和捕获,匹配并保存组内的内容。
    • 例如:(abc)+ 匹配 "abc", "abcabc" 等。
  13. \d

    • 匹配任意数字字符,相当于 [0-9]
    • 例如:\d{3} 匹配任意三位数字。
  14. \w

    • 匹配任意字母、数字或下划线字符,相当于 [a-zA-Z0-9_]
    • 例如:\w+ 匹配一个或多个字母、数字或下划线。
  15. \s

    • 匹配任意空白字符(空格、制表符等)。
    • 例如:\s+ 匹配一个或多个空白字符。
  16. \D\W\S

    • 分别匹配非数字、非字母/数字/下划线、非空格。
  17. [abc]

    • 匹配方括号内的 任意字符(如 abc)。
  18. [^abc]

    • 匹配 不在方括号内 的任意字符。
  19. 不区分大小写

    • 使用 re.IGNORECASE 或简写 re.I 作为标志,不区分大小写匹配。
    • 例如:re.compile(r'spam', re.I) 可以匹配 "spam""Spam""SPAM"
  20. sub() 方法

    • 用于替换字符串中符合正则表达式的部分。
    • 语法:re.sub(pattern, repl, string)
    • 例如:re.sub(r'\d+', 'NUMBER', 'Order 123') 会将 "123" 替换为 "NUMBER"
  21. 三重引号表达式

    • 用三重引号 '''pattern'''"""pattern""" 来表示多行的正则表达式,以提高可读性。

示例组合

  1. 邮箱验证

  2. 电话号码验证

    • r'\d{3}-\d{3}-\d{4}' 匹配类似 "123-456-7890" 的电话号码格式。
  3. URL 验证

    • r'https?://\w+\.\w+' 匹配类似 "http://example.com""https://example.com" 的 URL。

标签:例如,匹配,字符,Python,正则表达式,字符串,re,任意
From: https://blog.csdn.net/m0_61700423/article/details/141892724

相关文章

  • python中正则模块
    importre#1.findall()匹配字符串中所有符合正则的字符串,并返回一个列表result_list=re.findall(r"\d+","我的手机号是13812345678,我的QQ号是456789123")print(result_list,type(result_list))#['13812345678','456789123']<class'list&#......
  • 14 Python面向对象编程:反射
    本篇是Python系列教程第14篇,更多内容敬请访问我的Python合集在Python中,“反射”通常指的是根据字符串查找并执行相关的类、方法或者属性的能力。Python提供了几个内置函数和语法特性来支持这种能力,比如getattr(),setattr(),hasattr(),delattr()以及dir()等。这些功能......
  • 15 Python模块
    本篇是Python系列教程第15篇,更多内容敬请访问我的Python合集一个模块其实就是一个文件(以.py结尾)。使用模块的好处是便于维护和重用代码。要创建一个模块,只需编写一个新的文本文件,保存为.py扩展名。1引入模块1.1导入整个模块importmymodulemymodule.some_functi......
  • python 命令行参数解析
    追加参数pythonexample.pyNewYorkLosAngelesChicago给参数申明分配内存Locations:['NewYork','LosAngeles','Chicago']具体实现importargparseparser=argparse.ArgumentParser(description='Processsomelocations.')parser.ad......
  • Python
    Python安装HelloWorldprint("HelloWorld")基础字面量:代码中被写下来固定的值,数字:Number整数int浮点数float复数complex布尔bool字符串:String(双引号)列表:List元组:Tuple集合:Set字典:Dictionary注释单行注释#开头#我是注释print("HelloWorld")......
  • Python开发实例(30)文件搜索工具:创建一个程序,允许用户在指定目录下搜索文件
    创建一个文件搜索工具是一个非常有用的项目,它可以帮助用户在指定目录下查找文件。以下是一个基本的文件搜索工具示例,它使用Python的os库来进行文件搜索。importosdefsearch_files(directory,filename):found_files=[]forroot,_,filesinos.walk(director......
  • Flask:Python轻量级Web框架详解
    Flask是一个用Python编写的轻量级Web应用框架。它被设计为易于使用和扩展,非常适合小型项目和微服务,同时也能够支持大型应用。Flask依赖于少量的外部库,并且提供了一个简单的方式来创建Web应用。Flask的主要特点轻量级:Flask核心非常简单,使得它易于理解和扩展。扩展性:Flask可......
  • Python异步编程:asyncio库详解
    \asyncio是Python的标准库,用于编写单线程的并发代码。它使用async和await语法来定义和调用异步函数,使得I/O密集型程序能够更有效地使用资源。asyncio的主要特点事件循环:asyncio程序由事件循环驱动,它负责调度协程的执行。协程:使用async定义的异步函数被称为协程。任务:asyn......
  • Python批量采集某东评论,实现可视化分析
    女朋友没事就喜欢网购,买一大堆又不用,总说不合适,为了不让她花冤枉钱,于是我决定用Python写一个采集商品评论的脚本,然后对商品进行分析,这样就不怕踩到坑了!  让我们直接开始本次操作准备工作环境安装Python3.10Pycharm模块使用采集数据模块-DrissionPage->pipinsta......
  • Python使用MySQL数据库
    安装MySQL-python要想使python可以操作mysql 就需要MySQL-python驱动,它是python 操作mysql必不可少的模块。下载地址:https://pypi.python.org/pypi/MySQL-python/下载MySQL-python-1.2.5.zip 文件之后直接解压。进入MySQL-python-1.2.5目录:>>python setup.py install ......