×

正则 软件测试 表达式 模块 了解

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

jnlyseo998998 jnlyseo998998 发表于2023-03-15 15:49:02 浏览28 评论0

抢沙发发表评论

前言

正则表达式,又称规则表达式,(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模块的函数以及更高级的用法进行介绍哈。