软件测试|带你了解Python正则表达式模块(一)

简介: 软件测试|带你了解Python正则表达式模块(一)

前言

正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开来的,后来在广泛运用于Scala 、PHP、C# 、Java、C++ 、Objective-c、Perl 、Swift、VBScript 、Javascript、Ruby 以及Python等等。

Python正则模块介绍

Python的正则模块是re模块,是Python自带的模块,不需要额外安装,re模块拥有下列作用:

  • re 模块使 Python 语言可以实现全部的正则表达式功能
  • re 模块也拥有实现正则匹配的函数

基本语法

表达式 描述
\d 匹配任何十进制操作,与[0-9]一致
\D 匹配任意非数字
\w 匹配任何数字字母下划线字符
\W 匹配非字母数字下划线
\s 匹配任何空格字符
\S 匹配任意非空字符
\A 匹配字符串的开始
\Z 匹配字符串的结束
. 匹配任何字符(\n除外)

简单举例如下:

import re

sentence = 'hello muller, where are you from'
print(re.findall('from\Z', sentence))

print(re.findall('ffrom\Z', sentence))
-------------------------------
输出结果如下:
['from']
[]

更多示例:

import re


def had_number(sectence):
    result = re.findall('\d', sectence)
    print(result)
    for i in result:
        return True
    return False


def remove_number(sectence):
    result = re.findall('\D', sectence)
    print(result)
    return ''.join(result)


def startswith(sub, sectence):
    _sub = '\A%s' % sub
    result = re.findall(_sub, sectence)
    for i in result:
        return True
    return False

def endswith(sub, sectence):
    _sub = '%s\Z' % sub
    print(_sub)
    result = re.findall(_sub, sectence)
    print(result)
    if len(result) != 0:
        return True
    else:
        return False


def real_len(sectence):
    result = re.findall('\S', sectence)
    print(result)
    return len(result)



if __name__ == '__main__':
    sectence = 'i am muller, i am 34'
    result = had_number(sectence)
    print(result)
    result = remove_number(sectence)
    print(result)

    sectence = 'hello messi, i am muller. i am 34 year\'s old'
    print(re.findall('\W', sectence))

    result = startswith('hell', sectence)
    print(result)
    result = endswith('olds', sectence)
    print(result)
    print(len(sectence))
    result = real_len(sectence)
    print(result)

----------------------------------
输出结果如下:
['3', '4']
True
['i', ' ', 'a', 'm', ' ', 'm', 'u', 'l', 'l', 'e', 'r', ',', ' ', 'i', ' ', 'a', 'm', ' ']
i am muller, i am 
[' ', ',', ' ', ' ', ' ', '.', ' ', ' ', ' ', ' ', "'", ' ']
True
olds\Z
[]
False
44
['h', 'e', 'l', 'l', 'o', 'm', 'e', 's', 's', 'i', ',', 'i', 'a', 'm', 'm', 'u', 'l', 'l', 'e', 'r', '.', 'i', 'a', 'm', '3', '4', 'y', 'e', 'a', 'r', "'", 's', 'o', 'l', 'd']
35

总结

本文对Python 的re模块进行了简单的介绍,下一篇文章我们将对re模块的函数以及更高级的用法进行介绍哈。

相关文章
|
2月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
372 7
|
2月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
268 0
|
2月前
|
JSON 算法 API
Python中的json模块:从基础到进阶的实用指南
本文深入解析Python内置json模块的使用,涵盖序列化与反序列化核心函数、参数配置、中文处理、自定义对象转换及异常处理,并介绍性能优化与第三方库扩展,助你高效实现JSON数据交互。(238字)
397 4
|
2月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
297 0
|
2月前
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
210 0
|
11月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
6月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1049 23
|
8月前
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
1272 24
|
8月前
|
SQL 测试技术
除了postman还有什么接口测试工具
最好还是使用国内的接口测试软件,其实国内替换postman的软件有很多,这里我推荐使用yunedit-post这款接口测试工具来代替postman,因为它除了接口测试功能外,在动态参数的支持、后置处理执行sql语句等支持方面做得比较好。而且还有接口分享功能,可以生成接口文档给团队在线浏览。
359 2
|
10月前
|
JSON 前端开发 测试技术
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
798 10
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡

推荐镜像

更多