如何为一个表达式编写正则表达式?

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

我想从一个文件中提取所有以info clockdritf [syncCLK_predict]: predict_part_corr开头的句子我只想显示这些句子中的所有值:

info clockdritf [syncCLK_predict]: predict_part_corr -1
info clockdritf [syncCLK_predict]: predict_part_corr  5
info clockdritf [syncCLK_predict]: predict_part_corr  8
info clockdritf [syncCLK_predict]: predict_part_corr -7
info clockdritf [syncCLK_predict]: predict_part_corr 15

这是我的职能,但我没有给我任何结果:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('ggplot')
from collections import OrderedDict
from pylab import *
import csv
import matplotlib.pyplot as plt
plt.style.use('ggplot')
import seaborn as sns
sns.set_style('whitegrid')

#info clockdritf [syncCLK_predict]: predict_part_correction -1

try:
    import uncertainties.unumpy as unp
    import uncertainties as unc
except:
    import pip

    pip.main(['install', 'uncertainties'])
    import uncertainties.unumpy as unp
    import uncertainties as unc

Synchronization_Signals_Counter= OrderedDict ({
    'clkpredict':r'info\sclockdritf\s[syncCLK_predict]:\spredict_part_corr\s+([0-9]+)'
})

def Extract_List_Data_Info_Based_On_Regular_Expression(Log_File, re_key):
    # print(re_key)
    re_value = Synchronization_Signals_Counter[re_key]
    fsrc = open(Log_File, 'r')
    buff = fsrc.read()
    list_info = re.findall(re_value, buff)
    print(list_info)
    list_info[0]= ('clkpredict')
    return(list_info)

if __name__ == '__main__':
    Log_File='/home/ptl/Simulations/Results.log'

    for re_key in Synchronization_Signals_Counter.keys():
        print(re_key)
        list_info=Extract_List_Data_Info_Based_On_Regular_Expression(Log_File, re_key)
        print(list_info)

获得的结果:

clkpredict
[]
list_info[0]= ('clkpredict')
IndexError: list assignment index out of range
python
2个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.