python 正则

1.正则有三种匹配方法

import re
re.match #从开始位置开始匹配,如果开头没有则无

re.search #搜索整个字符串

re.findall #搜索整个字符串,返回一个list

2.'|'  或规则

复制代码
import re

s = 'I have a dog , I have a cat ,I have a dog'
r = re.findall(r'I have a (dog|cat)',s)
for i in r:print i
'''
dog
cat
dog
[Finished in 0.2s]
'''
r = re.findall(r'I have a (?:dog|cat)',s)
for i in r:print i
'''
I have a dog
I have a cat
I have a dog
[Finished in 0.2s]
'''
复制代码

 --------实例------------

复制代码
import re

data = '''<div class="ntes-nav-select-pop">
<ul class="ntes-nav-select-list clearfix">
<li data-module-name="n_topnavapplist_t_0">
<a href="http://m.163.com/newsapp/#f=topnav"><span><em class="ntes-nav-app-newsapp">网易新闻</em></span></a>'''

r = re.findall(r'(?:class=".+?"|href=".+?")',data)
for i in r:print i
'''
class="ntes-nav-select-pop"
class="ntes-nav-select-list clearfix"
href="http://m.163.com/newsapp/#f=topnav"
'''
复制代码

 

posted @   AlamZ  阅读(179)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示