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 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 正则表达式(Regular Expression) -> 正文阅读

[系统运维]正则表达式(Regular Expression)

1. 定义

  • 用一种描述性的语言给字符串定义一个 规则,符合规则的字符串,即“匹配”。

2. 结构

2.1 行定位符

  • ^表示开始:
str1 = 'Nature'
# '^Na'匹配以 Na 开头的字符
  • $表示结束:
str2 = 'Science'
# 'ce$'匹配以 ce 结束的字符

2.2 元字符

^开头
$结束
\w匹配字母、数字、下划线或汉字
.匹配除换行符以外的任意字符
\W匹配字母、数字、下划线或汉字以外的字符
\s匹配任意的空白符
\S匹配任意的非空白符
\b匹配单词的开始或结束
\d匹配数字

2.3 限定符

匹配前面的字符零次或一次iwtpa?p:匹配iwtpp和iwtpap
+匹配前面的字符一次或多次iwtpap+:匹配的范围从iwtpap到iwtpapp…
*匹配前面的字符零次或多次iwtpap*:匹配的范围从iwtpa到iwtpapp…
{n}匹配前面的字符n次iwtpap{5}:只匹配iwtpappppp
{n,}匹配前面的最少n次iwtpap{5,}:匹配的范围从iwtpappppp到iwtpappppp…
{n,m}匹配前面的最少n次,最多m次iwtpap{5,7}:匹配 iwtpappppp、iwtpapppppp、iwtpappppppp

注:如果匹配多个字符,将字符包括在 ( ) 中。

2.4 字符类

  • 定义一个含有字符的集合(用 [ ] 表示),匹配里面的字符
"""
[paper]:匹配任意一个含有这几个字母的字符
[\u4e00-\u9fa5]:匹配字符串中任意一个汉字
"""

2.5 排除字符

"""
用 [] 和 ^ 表示
[^a-zA-Z]:匹配一个不是字母的字符
"""

2.6 选择字符

"""
用 | 表示
[a-z]|[0-9]:匹配从a-z小写字母或0-9的数字
"""

2.7 转义字符

"""
用 \ 表示
# 匹配四位ip地址
[1-9]{1,3}\.[1-9]{1,3}\.[1-9]{1,3}\.[1-9]{1,3}
"""

2.8 分组

"""
用 () 表示子表达式
(iwtpap){4}:iwtpap重复四次
"""

3. 使用方式

3.1 匹配字符串

# match()匹配字符串起始值,匹配失败将返回None值,成功将返回Match对象
import re
pattern = r'iw_\w'  # 模式字符串
string = 'IW_PP iw_pp'  # 要匹配的字符串
# match = re.match(pattern, string)  # 匹配字符串,区分字母大小写
match = re.match(pattern, string, re.I)  # 不区分字母大小写。re.A:\w不匹配汉字
print(match)
print('起始位置:', match.start())  # 匹配字符串的索引值
print('结束位置:', match.end())  # 匹配字符串的索引值
print('匹配数据:', match.group())  # 匹配的字符
# search()在整个字符串中搜索第一个匹配的值,匹配失败将返回None值,成功将返回Match对象
import re
pattern = r'iw_\w'  # 模式字符串
string = 'IW_PP iw_pp'  # 要匹配的字符串
# match = re.search(pattern, string)  # 匹配字符串,区分字母大小写
match = re.search(pattern, string, re.I)  # 不区分字母大小写
print(match)
print('起始位置:', match.start())  # 匹配字符串的索引值
print('结束位置:', match.end())  # 匹配字符串的索引值
print('匹配数据:', match.group())  # 匹配的字符
# findall()在整个字符串中搜索所有匹配的值,以列表形式返回,若匹配失败将返回空列表。
import re
pattern = r'iw_\w'  # 模式字符串
string = 'IW_PP iw_pp'  # 要匹配的字符串
# match = re.findall(pattern, string)  # 匹配字符串,区分字母大小写
match = re.findall(pattern, string, re.I)  # 不区分字母大小写
print(match)

3.2 替换字符串

# sub()
import re
pattern = r'iw_\w'  # 模式字符串
string = 'IW_PP iw_pp'  # 要匹配的字符串
replace_string = re.sub(pattern, 'IWTPAP', string)
print(replace_string)

3.3 分割字符串

# split():返回一个由分割后字符串组成的列表
import re

pattern = r'iw_\w'  # 分割符,不会出现在列表中
string = 'IW_PP iw_pp'  # 要匹配的字符串
split_string = re.split(pattern, string)
print(split_string)
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 12:16:02  更:2022-04-26 12:19:08 
 
开发: 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 19:26:41-

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