嗨,我正在寻找一种使用Python使用Regex提取文本文件一部分的方法:下面是我的代码:
texfile=open("texte.txt", "r")
for line in texfile:
if re.match("^text(.*)", line):
print line,我正在搜索文本后面的文本,直到它到达段落的末尾,或者当它到达一个空白时,但是我的代码只返回1行中单词" text“后面的单词。
例如:
bla bla hhhhhhhh text bla blajjjjjjjjjjjjjjjjjjjjj
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
ffff必须返回:
bla blajjjjjjjjjjjjjjjjjjjjj
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
ffff谢谢我试过了你所有的代码,但没有人像我想要的那样工作:我现在想让它变得简单,提取出跟随某个“文本”的流,直到它到达一个空行:
text
sssssssssssssssss
ssssssss
kkkk
lllmmm
kkkk
;must return
sssssssssssssssss
ssssssss
kkkk
lllmmm
;because of the blank line发布于 2012-12-05 11:51:57
如果你不是被迫使用雷克斯,你可以用这个.
将文件加载为列表:
with open("texte.txt", "r") as fileInput:
listLines = fileInput.readlines()获取包含关键字的行的索引,如果它不止一次存在,您可能无法得到预期的结果,但这是一个简单的修复:
listIndex = [i for i, item in enumerate(listLines) if "text" in item]这是在关键字后面没有空行的行,方法是对列表进行切片:
lines = [line for line in listLines[listIndex[0]:] if line]您可能希望在关键字后面使用以下任何文本:
lineMatched = listLines[listIndex].split("text")[1].strip()并打印结果:
print "\n".join([lineMatched] + lines if lineMatched else lines)https://stackoverflow.com/questions/13594578
复制相似问题