正则表达式
原子
注意其中的/w /s /d
元字符
**.**除换行外任意一个字符
^开始位置
$结束位置
*0\1\多次
?0\1\次
+1\多次
[n]恰好n次
[n.]至少n次
[n.m]至少n次至多m次
| 模式选择符
()模式单元
模式修正符
I 匹配时忽略大小写
M 多行匹配
L 本地化识别匹配
U unicode
S 让**.**匹配包括换行符
贪婪模式与懒惰模式
贪婪核心:尽可能多的去匹配(默认就是贪婪)
懒惰核心:尽可能少的去匹配(写法:在后面加一个”?“)特点:精准
正则表达式函数
re.match必须从头开始匹配
re.serch什么地方都可以开始匹配
全局匹配函数
全局匹配格式re.compile(正则表达式).finall(数据)
。。。。。。。。
常见匹配实例
匹配.com 和 .cn网址
string = "<a href='http://www.baidu.com'>百度首页</a>"
pat = "[a-zA-Z]+://[^\s]*[.com|.cn]"
rst = re.compile(pat).findall(string)
print(rst)
**匹配电话号码**
```python
string = "jafjklashdfhaioefann3453j5345s6455kd756hfoiejrkenr"
pat = "\d{4}-\d{7}|\d{3}-\d{8}"
rst = re.compile(pat).findall(string)
print(rst)