liNE: 1TOKENKIND: somedataTOKENKIND: somedataliNE: 2TOKENKIND: somedataliNE: 3
等等…
我想要做的是删除liNE:和行号以及TOKENKIND:所以我只剩下一个字符串,其中包含’somedata somedate somedata …’
我正在使用Python来执行此 *** 作,使用正则表达式(我不确定是否正确)来匹配我要删除的文件的位.
我的问题是,如何让Python匹配多个正则表达式组并忽略它们,将我的正则表达式与我的输出字符串不匹配的任何内容添加到我的输出字符串中?我当前的代码如下所示:
import reimport sysignoredTokens = 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解决方法
import rex = '''liNE: 1TOKENKIND: somedataTOKENKIND: somedataliNE: 2TOKENKIND: somedataliNE: 3'''junkre = re.compile(r'(\s*liNE:\s*\d*\s*)|(\s*TOKENKIND:)',re.DOTALL)print junkre.sub('',x)总结
以上是内存溢出为你收集整理的python – 匹配多个正则表达式组并删除它们全部内容,希望文章能够帮你解决python – 匹配多个正则表达式组并删除它们所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)