匹配所有“错误:”但不匹配“错误:0”[重复]

Posted

技术标签:

【中文标题】匹配所有“错误:”但不匹配“错误:0”[重复]【英文标题】:Match all "errors:" but not "errors: 0" [duplicate] 【发布时间】:2020-07-02 11:33:13 【问题描述】:

我是 python 新手,不是在寻找“快速方法”,而是在寻找提示。

我想检查一个文件中是否存在模式“error:”并用行号打印出来,这样我以后就知道去哪里找了。但是,如果值为 0(表示“错误:0”),则不应触发。

这是我的“匹配所有错误:”脚本:

#!/usr/bin/env python

import re
import sys

lookup = 'errors: '
lookup2 = 'errors: 0'

with open(sys.argv[1]) as myFile:
    for num, line in enumerate(myFile, 1):
        if lookup in line:
            print('Line:', num, line)

我尝试了“不”的说法,但这不起作用:

#!/usr/bin/env python

import re
import sys

lookup = 'errors: '
lookup2 = 'errors: 0'

with open(sys.argv[1]) as myFile:
    for num, line in enumerate(myFile, 1):
        if lookup in line not lookup2:
            print('Line:', num, line)

有什么提示吗? 对不起,我可能非常基本的问题......

【问题讨论】:

【参考方案1】:

根据我的理解。如果存在字符串 errors: 但如果存在 errors: 0 则不要打印内容。

with open(sys.argv[1]) as myFile:
    for num, line in enumerate(myFile, 1):
        if lookup in line and lookup2 not in line:
            print('Line:', num, line)

【讨论】:

以上是关于匹配所有“错误:”但不匹配“错误:0”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

连接宽度与端口宽度不匹配[重复]

Oracle - 文字与格式字符串不匹配错误 [重复]

Rails 中没有路线匹配重复错误。如何调试?

火花类型不匹配错误 - 发现:任何但必需:列表[重复]

C ++重载:[错误]'operator ='不匹配(操作数类型是'String'和'String')[重复]

如果存在类型不匹配错误,是不是可以将变量解码为 nil [重复]