正则表达式(re模块)
什么是正则表达式?作用是什么?为什么要用正则表达式?
正则表达式:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
特点: 1. 灵活性、逻辑性和功能性非常强 2. 可以迅速地用极简单的方式达到字符串的复杂控制 3. 对于刚接触的人来说,比较晦涩难懂。
作用: 1.验证数据的有效性 2. 替换文本内容 3. 从字符串中提取子字符串 (实际上就是对字符串进行处理)
python中 re模块
就其本质而言,正则表达式(或RE)式一种小型的,高度专业化的编程雨燕,(在python中)它内嵌在python中,并通过re模块实现。
字符匹配 (普通字符 ,元字符)
1.普通字符:大多数字符和字母都会和自身匹配。看官请看下面代码:
import re
result = re.findall('junhao','qinghuajunhaosh') # 调用findall()方法 'junhao'在这里就是普通字符,与后面的字符串匹配
print(result)
>>['junhao']
2.元字符 :** . ^ $ * + ? { } [ ] | ( ) \ **
**元字符之转义符 \ **
反斜杠后边跟元字符去除特殊功能,比如 .
反斜杠后边跟普通字符实现特殊功能,比如 \d
\d 匹配任何十进制数;它相当于类 [0-9]。
\D 匹配任何非数字字符;它相当于类 [^0-9]。
\s 匹配任何空白字符;它相当于类 [ \t\n\r\f\v]。
\S 匹配任何非空白字符;它相当于类 [^ \t\n\r\f\v]。
\w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。
\W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]
\b 匹配一个特殊字符边界,比如空格 ,&,#等
现在我们聊一聊,先看下面两个匹配:
**元字符之分组 () **
元字符之|
re模块下的常用方法
注意: