必威体育Betway必威体育官网
当前位置:首页 > IT技术

python正则表达式两者取一的表达

时间:2019-09-28 00:41:04来源:IT技术作者:seo实验室小编阅读:85次「手机版」
 

两者

问题描述

曾经要用正则表达式从.txt或者.dat文本中寻找mac的地址的办法

目标数据 2a:3v:5g:3k:3d:6h或者2a-3v-5g-3k-3d-6h

可能是由于是16进制,字母不允许大于f。英文字符无视大小写

一开始的错误代码

"[a-fA-F0-9]{2}[:-][a-fA-F0-9]{2}[:-][a-fA-F0-9]{2}[:-][a-fA-F0-9]{2}[:-][a-fA-F0-9]{2}[:-][a-fA-F0-9]{2}"

由于这个正则表达式能抓取一些错误的例子。

举例

输入: 2a-3v:5g-3k:3d:6h

输出: 2a-3v:5g-3k:3d:6h

会出现":“与”-"混用的例子,这些是错误的例子。由于输出的顺序必须和文本出现的顺序一致,所以不能分开来查找,于是就做了如下的修改。

"(?:[a-fA-F0-9]{2}[:][a-fA-F0-9][:][a-fA-F0-9]{2}[:][a-fA-F0-9]{2}[:][a-fA-F0-9]{2}[:][a-fA-F0-9]{2}|[a-fA-F0-9]{2}[-][a-fA-F0-9][-][a-fA-F0-9]{2}[-][a-fA-F0-9]{2}[-][a-fA-F0-9]{2}[-][a-fA-F0-9]{2})"

其中(?:: |-)表示的是两种只能有一种。要不就是全部:衔接的,要不就是全部-衔接的mac地址表达式。

相关阅读

Python为你规划十一黄金周假期!

放假?放什么假?只有对社会没有用的人才会放假!像我这样国家栋梁之才怎么能放假?我就是来为人民服务的——加班、干活!最近项目太忙了,今

最近学正则表达式写的一个小工具——ToolsInTools

前阵都没事做,就抽空看了下正则表达式,毕竟上次打算学它的时候是4年前了~但是没坚持。正则确实是像传言的那样挺难的。但是如果静下

0基础学python,聊聊这半年我是如何自学编程

很多人在遇到事业瓶颈,或者从事一份自己不喜欢工作,又或者对未来迷茫的时候,总能看到很多人说,转码农,当程序员。诚然,转行当程序员不仅

grep基本正则表达式的基础使用

文本过滤工具 文本过滤工具分三种:grep、egrep、fgrep。作用为根据条件筛选文件。 前两者都支持正则表达式搜索。 fgrep不支持

【Python爬虫】 使用 tesserorc 进行 图像的识别 ---

   在使用tesserorc 时  博主也遇到了诸多问题   在经过 四处碰壁 与 资料查找后 最终安装成功,并成功的完成了图像识别 ,

分享到:

栏目导航

推荐阅读

热门阅读