文章目录
1.正则表达式
1.1正则表达概述
1.2正则表达式库
1.3一个简单的例子:检查用户输入的邮箱地址是否合法
2.正则表达式-原子
3.正则表达式-元字符和语法
1.正则表达式
1.1正则表达概述
正则表达式,又称规则表达式**,**(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。
现代编程语言基本内嵌了正则表达式的库,如per、python也不例外。虽然各种语言和库的定义的正则表达式的语法规则会有所不同,但基本内容是相同的。
1.2正则表达式库
Python 虽然自带正则表达式库re,但是该库不是自动加载进内存中的,需要使用下面的语句来引入
import re
正则表达式的基础是匹配,匹配操作有两个,一个是规则,另一个是输入字符串在匹配的基础上可以进行替换、检索等操作。
1.3一个简单的例子:检查用户输入的邮箱地址是否合法
一个简单的例子:检查用户输入的邮箱地址是否合法,合法的邮箱地址应该符合下面的格式 主机名
# 引入正则表达式库 import re # 定义函数 def valid_email_address(addr): result = re.match(r"^[a-zA-z0-9]+@[a-zA-z0-9]+(\.[a-zA-z0-9]+)*$", addr) # 匹配成功 if result is not None: print("[%s] is a valid email address" % addr) # 匹配失败 else: print("[%s] is NOT a valid email address" % addr) valid_email_address("name") valid_email_address("name@") valid_email_address("name@126.com") 执行结果: "D:\Program Files1\Python\python.exe" D:/Pycharm-work/pythonTest/正则/验证邮箱.py [name] is NOT a valid email address [name@] is NOT a valid email address [name@126.com] is a valid email address Process finished with exit code 0
2.正则表达式-原子
原子是正则表达式中最基本的组成单位,每个正则表达式中至少要包含一个原子。常见的原子类型有:
1.普通字符作为原子 : 如 az、AZ、0~9 等
2.非打印字符作为原子:如 \f \n \r \t \v \cx
3.通用字符作为原子:\d \D \w \W \s \S
4.原子表:自定义原子表([])作为原子:如:’/[apj]sp/’ ’/[^apj]sp/’
5.一些特殊字符和转义后元字符作为原子:
所有标点符号,但语句特殊意义的符号需要转义后才可作为原子,如:\” \’ * + ? . 等
3.正则表达式-元字符和语法
在正则表达式中,定义了一些元字符。这些字符一般用来匹配一组字符,如果希望匹配0-9这10个数字字符,那么便可以用元字符\d。元字符一般是以\开头,后面在跟着一个字符。另外有些语法是描述某个或某组字符出现的频率的,例如。如果认为某个字段是可选的,则可以指定其出现的频率是0或者是1
常用的元字符和语法