Python 正则表达式提取特定位置的数字

Python 正则表达式提取特定位置的数字,python,regex,Python,Regex,我正在用python编程,我需要一个正则表达式来提取这些数据集中| |之间的数字,并保存结果以供重用。所以它应该从第1行提取66,从第2行提取1032,从第3行提取1472,依此类推。我不熟悉编程和正则表达式。任何帮助都将不胜感激 232404811.111146|66|ip:tcp 232404811.111556|1032|ip:udp:data 232404811.112015|1472|ip:tcp:http:data 232404811.112060|1472|ip:tcp:http:

我正在用python编程,我需要一个正则表达式来提取这些数据集中| |之间的数字,并保存结果以供重用。所以它应该从第1行提取66,从第2行提取1032,从第3行提取1472,依此类推。我不熟悉编程和正则表达式。任何帮助都将不胜感激

232404811.111146|66|ip:tcp
232404811.111556|1032|ip:udp:data
232404811.112015|1472|ip:tcp:http:data
232404811.112060|1472|ip:tcp:http:data

数据在一个文件中&我将逐行遍历它。

您不需要正则表达式:

numbers_list = []
with open(filename) as f:
    for line in f:
        numbers_list.append(line.split("|")[1]
这将拆分
|
字符上的每一行,并获取第二个字段(记住索引是基于0的)

如果你觉得很有意思,请在列表中列出全部内容(谢谢):


您不需要正则表达式:

numbers_list = []
with open(filename) as f:
    for line in f:
        numbers_list.append(line.split("|")[1]
这将拆分
|
字符上的每一行,并获取第二个字段(记住索引是基于0的)

如果你觉得很有意思,请在列表中列出全部内容(谢谢):


您不需要正则表达式:

numbers_list = []
with open(filename) as f:
    for line in f:
        numbers_list.append(line.split("|")[1]
这将拆分
|
字符上的每一行,并获取第二个字段(记住索引是基于0的)

如果你觉得很有意思,请在列表中列出全部内容(谢谢):


您不需要正则表达式:

numbers_list = []
with open(filename) as f:
    for line in f:
        numbers_list.append(line.split("|")[1]
这将拆分
|
字符上的每一行,并获取第二个字段(记住索引是基于0的)

如果你觉得很有意思,请在列表中列出全部内容(谢谢):


要将其与正则表达式匹配,请使用:

^\d+\.\d+\|(\d+)\|.*?$

匹配项位于捕获组1中,以便与正则表达式使用相匹配:

^\d+\.\d+\|(\d+)\|.*?$

匹配项位于捕获组1中,以便与正则表达式使用相匹配:

^\d+\.\d+\|(\d+)\|.*?$

匹配项位于捕获组1中,以便与正则表达式使用相匹配:

^\d+\.\d+\|(\d+)\|.*?$

这场比赛是在捕捉第1组

为什么不按管道分割?为什么不按管道分割?为什么不按管道分割?或者
numbers\u list=[line.split(“|”)[1]表示f中的行
不用担心,比正则表达式好得多:)或者
numbers\u list=[line.split(“|”)表示f中的行
不用担心,比正则表达式好得多的解决方案:)或
numbers\u list=[line.split(“|”)[1]用于f中的行]
不用担心,比正则表达式好得多:)或
numbers\u list=[line.split(“|”)[1]用于f中的行]
不用担心,比正则表达式好得多:)