写点什么

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

  • 2023-11-07
    北京
  • 本文字数:1393 字

    阅读完需:约 5 分钟

前言

正则表达式,又称规则表达式,(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 模块也拥有实现正则匹配的函数


基本语法



简单举例如下:


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 [' ', ',', ' ', ' ', ' ', '.', ' ', ' ', ' ', ' ', "'", ' ']Trueolds\Z[]False44['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 模块的函数以及更高级的用法进行介绍哈。


获取更多技术资料,请点击!

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
软件测试|带你了解Python正则表达式模块(一)_霍格沃兹测试开发学社_InfoQ写作社区