前言
正则表达式,又称规则表达式,(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除外) |
简单举例如下:
代码语言:python代码运行次数:0复制import re
sentence = 'hello muller, where are you from'
print(re.findall('fromZ', sentence))
print(re.findall('ffromZ', sentence))
-------------------------------
输出结果如下:
['from']
[]
更多示例:
代码语言:python代码运行次数:0复制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 = '%sZ' % 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
oldsZ
[]
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模块的函数以及更高级的用法进行介绍哈。