如何在 Python 中使用正则表达式排除包含特定字符集的行

问题描述 投票:0回答:1

我想知道是否有人可以帮助我。

我尝试在 Python 中使用正则表达式来排除文件的某些行并打印出所有其他行。我试图省略的行是那些带有“A”或“B”的行。

现在,我可以使用正常的编码风格轻松地做到这一点(在下面注释掉)。但是当我尝试使用正则表达式获得相同的结果时,它将返回文件中的所有行,包括所有内容。

您能否告诉我出了什么问题以及如何使用正则表达式获得相同的结果?提前致谢。 :)

重新导入

fhandle = open('romeo.txt', 'r')

对于 fhandle 中的行: 线=线.rstrip()

# if "B" in line or 'A' in line:
#     continue
# print(line)

if re.search('[^BA]', line):
    print(line)

fhandle.close()

python python-3.x regex for-loop
1个回答
0
投票

正确的表达方式是,如果在给定行中找到

A
B
cannot,则打印该行:

if not re.search('[BA]', line):
    print(line)

但是,在这种特殊情况下,您甚至不需要正则表达式。使用基本字符串函数我们可以编写:

if not "A" in line and not "B" in line:
    print(line)
© www.soinside.com 2019 - 2024. All rights reserved.