IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 正则表达式① 元字符 -> 正文阅读

[Python知识库]正则表达式① 元字符

正则表达式① 元字符

  • 定义:文本的高级匹配模式,其本质是由一系列字符和特殊符号构成的字串,即正则表达式。

  • 原理:通过普通字符和有特定含义的字符,来组成字符串,用以描述一定的字符串规则,比如:重复,位置等,来表达某类特定的字符串,进而匹配。

元字符

元字符匹配规则
普通字符每个普通字符匹配其对应的字符
|或关系,匹配|两侧任意的正则表达式即可
.匹配除换行外的任意单个字符
[字符集]匹配字符集中的任意一个字符,[0-9] [a-z] [A-Z]表示区间内任意一个字符
[^字符集]匹配除了字符集以外的任意一个字符
*匹配前面的字符出现0次或多次
+匹配前面的字符出现1次或多次
?匹配前面的字符出现0次或1次
{n}匹配前面的字符出现n次
{m,n}匹配前面的字符出现m-n次
^匹配目标字符串的开头位置
$匹配目标字符串的结尾位置
\d匹配任意数字字符
\D匹配任意非数字字符
\w匹配普通字符, 普通字符指数字,字母,下划线,汉字
\W匹配非普通字符,指除数字,字母,下划线,汉字外的字符
\s匹配空字符,空字符指 空格\r \n \t \v \f 字符
\S匹配非空字符
\b匹配单词的边界位置,单词边界指普通字符与其他字符的交界位置
\B匹配非单词的边界位置

注意: 当元字符与Python字符串中转义字符冲突的情况则需要使用r将正则表达式字符串声明为原始字符串,如果不确定那些是Python字符串的转义字符,则可以在所有正则表达式前加r。

类别元字符
匹配字符. [...] [^...] \d \D \w \W \s \S
匹配重复* + ? {n} {m,n}
匹配位置^ $ \b \B
其他| () \
"""
示例:元字符使用
"""
#导入re模块
import re

#匹配普通字符
result=re.findall('hello','hello world')
print(result)

#或关系
result=re.findall('com|cn','www.baidu.com.cn')
print(result)

#匹配任意一个字符,除了\n
result=re.findall(".总",'王总,李总,张总,赵总')
print(result)

#匹配字符集中的一个字符
result=re.findall('[abcd]','hello world')
result=re.findall("[!a-z]",'hello world!')  #混合书写,区间表达一般写在后面
print(result)

#字符集取反
result=re.findall('[^a-d]','abcde')
print(result)

#匹配重复0次或多次
result=re.findall('wo*w','wow!woooow ww!')
print(result)

#匹配重复1次或多次
result=re.findall('wo+w','wow!woooow ww!')
print(result)

#匹配重复0次或1次
result=re.findall('wo?w','wow!woooow ww!')
print(result)

#匹配重复指定次数
result=re.findall("wo{4}",'wow!woooow ww!')
print(result)

#匹配重复{m-n}次
result=re.findall("wo{1,4}",'wow!woooow ww!')
print(result)

#匹配开头结尾位置
result=re.findall("^hi","hi,baby")  #开头
result=re.findall("baby$","hi,baby")    #结尾
print(result)

#匹配数字字符或非数字字符
result=re.findall("\d+","id:1345,eid:87")   #数字字符
result=re.findall("\D+","id:1345,eid:87")   #非数字字符
print(result)

#匹配\w普通字符和\W非普通字符
result=re.findall("\w+","hi,数字小姐!") #普通字符,数字字母汉字下划线
result=re.findall("\W+","hi,数字小姐!") #除普通字符外的字符
print(result)

#匹配\s空字符和\S非空字符
result=re.findall("\s+","hi  baby\n")
result=re.findall("\S+","hi  baby\n")
print(result)

#匹配\b边界和\B非边界
result=re.findall(r"\bis\b","is this your handbag?")
print(result)

笔记内容参考自:达内吕泽老师

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-08 11:45:45  更:2021-10-08 11:48:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:49:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码