python正则表达式

简介: 正则表达式

元字符匹配,对于爬虫十分重要


字符 功能
. 匹配任意一个字符(除了 \n ), \. 匹配点本身
[ ] 匹配 [ ] 中列举的字符
\d 匹配数字,即 0-9
\D 匹配非数字
\s 匹配空白,即 空格、tab键
\S 匹配非空白
\w 匹配单词字符,即 a-z、A-Z、0-9、_
\W 匹配非单词字符

r的用法

字符串前面带上r,表示其中转义字符无效,均视为普通字符

三大方法

import re包
re.match, 从头开始匹配,匹配第一个命中项,如果第一个匹配失败,直接结束
re.search,全局匹配,匹配第一个命中项
re.findall,全局匹配,匹配全部命中项,返回一个 list

数量匹配

==*== 匹配前一个规则的字符出现0至无数次,闭包
+ 匹配前一个规则的字符出现1至无数次, 正闭包
匹配钱一个规则的字符出现0次或者1次
{m} 匹配前一个规则的字符串出现m次
{m,} 匹配前一个规则的字符串出现最少m次
{m,n} 匹配前一个规则的字符串出现m到n次

边界匹配

^ 匹配字符串开头
$ 匹配字符串结尾
\b 匹配一个单词的边界
\B 匹配非单词的边界

分组匹配

**\ ** 匹配左右任意一个表达式 或
( ) 将括号中字符作为一个分组

案列演示

"""
正则表达式元字符匹配
"""

import re

# 匹配账号,只能由数字和字母组成,长度限制6到10位,正则表达式里面不要乱写空格
r1 = '^[0-9a-zA-Z]{6,10}$'
s1 = '123458Ab'
print(re.findall(r1, s1))

# 匹配QQ号,纯数字,长度5-11,第一位不为0
r2 = '^[1-9][0-9]{4,10}$'
s2 = '01246789'
print(re.findall(r2, s2))

# 匹配邮箱地址,允许 qq、163、gmail
r3 = r'(^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+$)'
s3 = 'a.b.c.d.f.g@163.com.za.as'
print(re.match(r3, s3))

输出结果自己在IDE跑一下,很简单。

目录
相关文章
|
6月前
|
Python
"揭秘!Python如何运用神秘的正则表达式,轻松穿梭于网页迷宫,一键抓取隐藏链接?"
【8月更文挑战第21天】Python凭借其强大的编程能力,在数据抓取和网页解析领域表现出高效与灵活。通过结合requests库进行网页请求及正则表达式进行复杂文本模式匹配,可轻松提取网页信息。本示例展示如何使用Python和正则表达式解析网页链接。首先确保已安装requests库,可通过`pip install requests`安装。接着,利用requests获取网页内容,并使用正则表达式提取所有`<a>`标签的`href`属性。
67 0
|
3月前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
85 5
|
3月前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
4月前
|
Python
【收藏备用】Python正则表达式的7个实用技巧
【收藏备用】Python正则表达式的7个实用技巧
39 1
|
4月前
|
数据安全/隐私保护 Python
Python实用正则表达式归纳
Python实用正则表达式归纳
28 3
|
4月前
|
Python
Python 正则表达式高级应用指南
正则表达式是文本模式匹配的强大工具,Python 的 `re` 模块支持其操作。本文介绍正则表达式的高级应用,包括复杂模式匹配(如邮箱、电话号码)、分组与提取、替换操作、多行匹配以及贪婪与非贪婪模式的区别。通过示例代码展示了如何灵活运用这些技巧解决实际问题。
41 7
|
4月前
|
JavaScript 前端开发 Scala
Python学习十:正则表达式
这篇文章是关于Python中正则表达式的使用,包括re模块的函数、特殊字符、匹配模式以及贪婪与非贪婪模式的详细介绍。
35 0
|
4月前
|
数据采集 开发者 Python
Python正则表达式之re.compile函数
`re.compile`是Python正则表达式处理中一个强大的工具,它通过预先编译正则表达式,不仅提升了执行效率,还增强了代码的组织性和可读性。掌握其使用,对于涉及文本分析、数据清洗、日志处理等领域的Python开发者来说,是非常必要的技能。正确并高效地应用这一功能,可以显著提升程序的性能和维护性。
246 0
|
5月前
|
索引 Python
30天拿下Python之正则表达式
30天拿下Python之正则表达式
28 0
|
5月前
|
数据采集 Python
Python正则表达式提取车牌号
Python正则表达式提取车牌号
75 0

热门文章

最新文章