正则表达式的定义:
##正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
简单地说就是描述字符串排列顺序的一套规则,在Python中一般会使用re模块实现正则表达式的功能
原子
原子是正则表达式中的最基本的组成单位,每个正则表达式中至少要包含一个原子,常见的的有:
1 : 普通字符作为原子
2 : 非打印字符作为原子
3 : 通用字符作为原子
4 : 原子表
正则表达式的常见函数
1:re.match()函数
如果想要从源字符串的起始位置匹配一个模式,可以使用re.match函数,格式为:re.match(pattern,string,flag)
2 : re.search()函数
re.search()进行的是全文中进行函数模式匹配
3 :全局匹配函数
(1)使用re.compile()对正则表达式进行预编译
(2)使用findall()根据正则表达式将源字符串中将匹配的结果找出
4: re.sub()函数
想根据正则表达式替换某些字符串的功能,格式:re.sub(pattern,req,string,max)
两个关于正则表达式的例子
1 : 匹配.com or .cn后缀的URL网址
import re
pattern = "[a-zA-Z]+://[^\s]*[.com|.cn]"
string = "<a 'http://www.baidu.com'>百度首页</a>"
result = re.search(pattern,string)
print(result)
2 :匹配电话号码
import re
pattern = "\d{4}-\d{7}|\d{3}-\d{8}"
string = "021-143135413515145434353451"
result = re.search(pattern,string)
print(result)