我得到了一个文件,我想从中提取有用的数据。文件的格式是这样的:
LINE: 1
TOKENKIND: somedata
TOKENKIND: somedata
LINE: 2
TOKENKIND: somedata
LINE: 3
ETC...
我想要做的是删除 LINE: 和行号以及 TOKENKIND: 所以我只剩下一个由 'somedata somedate somedata...' 组成的字符串
我正在使用 Python 来执行此操作,使用正则表达式(我不确定是否正确)来匹配我想要删除的文件的位。
我的问题是,如何让 Python 匹配多个正则表达式组并忽略它们,将我的正则表达式不匹配的任何内容添加到我的输出字符串中?我当前的代码如下所示:
import re
import sys
ignoredTokens = re.compile('''
(?P<WHITESPACE> \s+ ) |
(?P<LINE> LINE:\s[0-9]+ ) |
(?P<TOKEN> [A-Z]+: )
''', re.VERBOSE)
tokenList = open(sys.argv[1], 'r').read()
cleanedList = ''
scanner = ignoredTokens.scanner(tokenList)
for line in tokenList:
match = scanner.match()
if match.lastgroup not in ('WHITESPACE', 'LINE', 'TOKEN'):
cleanedList = cleanedList + match.group(match.lastindex) + ' '
print cleanedList