gpt4 book ai didi

python - 如何提取与文本文件中的正则表达式匹配的行号

转载 作者:行者123 更新时间:2023-11-28 20:48:20 30 4
gpt4 key购买 nike

我正在做一个关于统计机器翻译的项目,我需要从一个带有正则表达式(任何带有粒子“out”的非分隔短语动词)的 POS 标记文本文件中提取行号,然后写文件的行号(在 python 中)。

我有这个正则表达式:'\w*_VB.?\sout_RP' 和我的词性标记文本文件:'Corpus.txt'。我想得到一个行号与上述正则表达式匹配的输出文件,并且输出文件每行应该只有一个行号(没有空行),例如:

2

5

44

到目前为止,我的脚本中只有以下内容:

OutputLineNumbers = open('OutputLineNumbers', 'w')
with open('Corpus.txt', 'r') as textfile:
phrase='\w*_VB.?\sout_RP'
for phrase in textfile:

OutputLineNumbers.close()

知道如何解决这个问题吗?

预先感谢您的帮助!

最佳答案

假设您在变量“短语”中有正确的正则表达式,这应该可以解决您的问题

import re

# compile regex
regex = re.compile('[0-9]+')

# open the files
with open('Corpus.txt','r') as inputFile:
with open('OutputLineNumbers', 'w') as outputLineNumbers:
# loop through each line in corpus
for line_i, line in enumerate(inputFile, 1):
# check if we have a regex match
if regex.search( line ):
# if so, write it the output file
outputLineNumbers.write( "%d\n" % line_i )

关于python - 如何提取与文本文件中的正则表达式匹配的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17076635/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com