python中多行的regexp

2024-09-28 05:24:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我是regexp新手,想知道当第3列的内容不总是相似时,如何获取该列的值

为了更好的理解,请在链接中添加O/p图片

enter image description here

sw1-tb100#sh模块

Mod Ports模块类型模型状态


1 34 1/10/40G IPS,2/4/8/10/16G FC模块DS-X9334-K9正常

2 48 1/10 Gbps以太网模块DS-X9848-480K9正常

5 0监控模块-3 DS-X97-SF1-K9激活*


Tags: 模块模型mod类型内容链接shds
2条回答

你能把表格的txt格式贴出来吗。你知道吗

re.findall("(\d{1,2}?) +(\d{1,2}?) +(.*?) +(.+?\s\w+\w+?) +(.*\-?) +(\w+)", "your_input_file")

以上内容将与前两行匹配:

==========================================================
1 34 1/10/40G IPS,2/4/8/10/16G FC Module DS-X9334-K9 ok

2 48 1/10 Gbps Ethernet Module DS-X9848-480K9 ok
==========================================================

你也可以参考下面的链接

python regular expression across multiple lines

您可以使用简单的字符串拆分操作来尝试以下操作,而不是regexp。你知道吗

line = "1 34 1/10/40G IPS,2/4/8/10/16G FC Module DS-X9334-K9 ok"
print " ".join(line.split()[2:-2])

你可以把它放在一个循环中,对所有的行重复它。你知道吗

编辑1:

您可以使用以下任一方法来消除带星号的问题。同样,如果日志中有其他特殊情况,可能需要对其进行调整。你知道吗

print " ".join(str2.replace("*","").split()[2:-2])
print " ".join(str2.split("DS")[0].split()[2:])

相关问题 更多 >

    热门问题