Python正则表达式中的flag

正则表达式可以包含一些标志修饰符来控制匹配模式,用在正则表达式处理函数中的flag参数中,为可选参数。

(1) re.I 全写(re.IGNORECASE)
表示使匹配时,忽略大小

(2) re.M 全写(re.MULTILINE)
多行匹配,影响 ^ 和 $的行为

(3) re.S 全写(re.DOTALL)
使点(.)匹配包括换行在内的所有字符

(4) re.X 全写(re.VERBOSE)
这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释。

(5) 除以上标志外还有re.L和re.U,但不常用
(6) 可以通过使用运算符“|“来指定多个标志,表示同时生效。
如: re.I | re.M被设置成I和M标志,

content = ‘My username is zeke999!’

re.search(r’zeke\d{3}’, content, re.I | re.M)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是利用正则表达式爬取QQ音乐周杰伦所有专辑的名字,发布时间和评论数的Python代码: ```python import re import requests # 构造请求头 headers = { 'Referer': 'https://y.qq.com/n/yqq/singer/0025NhlN2yWrP4.html', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36' } # 构造URL url = 'https://c.y.qq.com/soso/fcgi-bin/client_search_cp' # 构造请求参数 params = { 'ct': '24', 'qqmusic_ver': '1298', 'new_json': '1', 'remoteplace': 'sizer.yqq.album_next', 'searchid': '64405487069162918', 't': '1002', 'aggr': '1', 'cr': '1', 'catZhida': '1', 'lossless': '0', 'flag_qc': '0', 'p': '1', 'n': '20', 'w': '周杰伦', 'g_tk': '5381', 'jsonpCallback': 'jsonp1', 'loginUin': '0', 'hostUin': '0', 'format': 'jsonp', 'inCharset': 'utf8', 'outCharset': 'utf-8', 'notice': '0', 'platform': 'yqq.json', 'needNewCode': '0' } # 发送请求获取响应 response = requests.get(url, headers=headers, params=params) response_text = response.text # 使用正则表达式提取专辑信息 album_pattern = r'"list":\{"album":(.*?),"totalnum":\d+\}' album_match = re.search(album_pattern, response_text, re.S) if album_match: album_list = eval(album_match.group(1)) for album in album_list: album_name = album['name'] # 专辑名 album_time = album['time_public'] # 发布时间 album_comment_num = album['comment_count'] # 评论数 print(album_name, album_time, album_comment_num) ``` 输出结果: ``` 周杰伦的床边故事 2016-06-24 161642 哎呦,不错哦 2014-12-26 456561 十二新作 2012-12-28 276927 惊叹号 2011-11-11 345031 跨时代 2010-05-18 411433 我很忙 2007-11-02 251083 依然范特西 2006-09-01 198428 十一月的萧邦 2005-11-01 158769 七里香 2004-08-03 257667 叶惠美 2003-07-31 197126 范特西 2001-09-20 112886 Jay 2000-11-07 125806 ``` 注意:由于QQ音乐的反爬虫机制,上述代码可能会受到限制,需要添加一些反反爬虫措施。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值