其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

python正则表达式中‘|’是什么意思?

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正则表达式(零基础入门,第1节,正则表达式语法)

哈喽,大家好,我又来了。前期我直接跳过Python正则表达式的基础内容,从re模块的使用写起,但发现不少知友似乎比较难切入。因为无论哪个模块,多少都有些知友跟我互动一下,而re模块的几篇,阅读量极低,也没遇到过一次互动。伤心...于是,这篇起,我回过头来,从网络工程师需要的最基础的正则表达式开始梳理。

〇、参考资料

本专栏简介及目录入口,如果你不知道从何读起,建议从这篇《目录》开始,连接如下:

本文部分参考知乎专栏 @弈心 《网路行者》实验思想,推荐移步阅读。

本文部分参考书籍《Python for network engineers》,纯英文,推荐移步阅读。

一、正则概述

1.1 正则表达式引入

先来个“定义”:

正则表达式是由普通字符和特殊字符组成的序列,可以称之为“模板”。凭借它,我们在文本中查找、搜索甚至替换特定信息,便有章可循了。

再来个“笑话”:

【“笑话”原文】Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.
【“笑话”翻译】当遇到一个问题的时候,你意识到这个问题可以用正则表达式来解决时,于是,你就有两个问题了。

这“笑话”阐述了正则表达式本身就是一个问题。一言以蔽之,正则表达式好用,但有难度。

正则表达式可以说是各行各业处理数据的“祖传”工具。作为网络工程师我们,无论当下传统的CLI还是前景可期的API,基本都是通过“数据”进行人机交互。它的内容又很多很杂,这一系列我仅梳理一些网络工程师比较常用的。

1.2 正则表达式作用

同学们初期接触正则表达式一定会觉得复杂,不知道如何下手。凡事先提纲挈领,网络运维中它能干嘛呢?

  • (1)在CLI命令回显中,提取我们想要的信息,检查配置设置是否准确。
  • (2)按照我们制定的模板规则,解析大篇幅命令回显或配置。

上面的表述可能有点抽象,咱们结合实际来说。

  • (1)从报文回显中提取或过滤出设备版本、运行时间、端口up/down等信息。
  • (2)在老长老长的LOG日志中捕捉你想要的,在老长老长的配置中检查接口配置是否符合规范等。

简单说,正则表达式让你可以在“报文山配置海”中快速锚定你想要的那个它!而且,你不仅仅能搜索定位提取,你还能原地修改它。

二、语法初探

2.1 方法search() 初探

Python通过官方的re模块实现正则表达式规则。因此,使用正则表达式之前,我们需要引入re模块。该模块的方法很多,我们先重点聚焦search方法,用以学习正则表达式基础语法。

标签:

提交需求或反馈

Demand feedback