Products
GG网络技术分享 2025-03-18 16:14 4
谢谢!
python正则表达式中‘|’是什么意思?
|
A | B,表示匹配正则表达式 A 或者 B
'|'是“或”的意思,当“|”两边的表达式有一个或两个为“真”或者“非0”,则表达式结果为1;当“|”两边的表达式两个都为“假”或者“0”,则表达式结果为0。
如:
2 | 0,结果=1
1 | 1,结果=1
0 | 1,结果=1
0 | 0,结果=0
(2<1)| (2>1),结果=1
(2>1)| (3>1),结果=1
(2<1)| (0>1),结果=0
答案不都被你说出来了吗
哈喽,大家好,我又来了。前期我直接跳过Python正则表达式的基础内容,从re模块的使用写起,但发现不少知友似乎比较难切入。因为无论哪个模块,多少都有些知友跟我互动一下,而re模块的几篇,阅读量极低,也没遇到过一次互动。伤心...于是,这篇起,我回过头来,从网络工程师需要的最基础的正则表达式开始梳理。
本专栏简介及目录入口,如果你不知道从何读起,建议从这篇《目录》开始,连接如下:
本文部分参考知乎专栏 @弈心 《网路行者》实验思想,推荐移步阅读。
本文部分参考书籍《Python for network engineers》,纯英文,推荐移步阅读。
先来个“定义”:
正则表达式是由普通字符和特殊字符组成的序列,可以称之为“模板”。凭借它,我们在文本中查找、搜索甚至替换特定信息,便有章可循了。
再来个“笑话”:
【“笑话”原文】Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.
【“笑话”翻译】当遇到一个问题的时候,你意识到这个问题可以用正则表达式来解决时,于是,你就有两个问题了。
这“笑话”阐述了正则表达式本身就是一个问题。一言以蔽之,正则表达式好用,但有难度。
正则表达式可以说是各行各业处理数据的“祖传”工具。作为网络工程师我们,无论当下传统的CLI
还是前景可期的API
,基本都是通过“数据”进行人机交互。它的内容又很多很杂,这一系列我仅梳理一些网络工程师比较常用的。
同学们初期接触正则表达式一定会觉得复杂,不知道如何下手。凡事先提纲挈领,网络运维中它能干嘛呢?
CLI
命令回显中,提取我们想要的信息,检查配置设置是否准确。上面的表述可能有点抽象,咱们结合实际来说。
up/down
等信息。LOG
日志中捕捉你想要的,在老长老长的配置中检查接口配置是否符合规范等。简单说,正则表达式让你可以在“报文山配置海”中快速锚定你想要的那个它!而且,你不仅仅能搜索定位提取,你还能原地修改它。
Python通过官方的re
模块实现正则表达式规则。因此,使用正则表达式之前,我们需要引入re模块。该模块的方法很多,我们先重点聚焦search
方法,用以学习正则表达式基础语法。
Demand feedback