我有一个文本文件
Some text and random stuff that I don't need
2 8
2 9 T
4 9
1 10
2 10 F
7 11 T
More random stuff
我应该如何构造一个regex函数来提取只包含数字的行以及包含数字和T或F的行呢?
with open(file, 'r') as log_file:
# opening file
file = log_file
while True:
line = file.readlines()
# if line in regex function:
data.append(line)
# closing file
break
我该如何解决这个问题?
3条答案
按热度按时间nhjlsmyf1#
使用这种方法,re模式将只匹配数字或以字母T或F结尾的数字。您还可以使用for循环代替while循环。
如果某些行以字母
eg;
T 7 11
开头,并且您也希望匹配这些行,则应将上述模式替换为r'^[TF]|\d+ \d+( [TF])?$'
测试代码:
ars1skjm2#
我们可以使用
re.findall()
来获取整个文件中的所有示例。输出:
对于大文件,最好逐行迭代。
如果您有兴趣了解有关正则表达式的详细信息,请访问regexone
csga3l583#
您还可以将匹配的行解析为
(int, int, boolean |None
)的元组:示例文件的输出: