匹配多个正则表达式组并删除它们

2023-12-24

我收到了一个文件,我想从中提取有用的数据。文件的格式如下:

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

import re

x = '''LINE: 1
TOKENKIND: somedata
TOKENKIND: somedata
LINE: 2
TOKENKIND: somedata
LINE: 3'''

junkre = re.compile(r'(\s*LINE:\s*\d*\s*)|(\s*TOKENKIND:)', re.DOTALL)

print junkre.sub('', x)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

匹配多个正则表达式组并删除它们 的相关文章

随机推荐

  • 根据R和plotly中的范围制作堆积条形图

    我想在 R 中创建一个堆积条形图并使用 iris 数据集绘制 在 x 轴中 我想在代码中设置像下面的 iris limits 这样的限制 y 轴应该包含适合这些范围的所有 Sepal Length 值 我想将这些值作为单个向量传递 另外 如
  • 使用哈希图创建文本字数统计

    我正在尝试创建一个程序作为我自己的哈希图教程 我要求用户输入文本并尝试将其拆分为哈希图 然后如果单词重复则增加计数 这是我的程序 import java util import java lang import javax swing JO
  • 找出将 n 表示为两个有边界整数之和的方法数

    我正在玩 codefight 但我真的被困住了 到下面的有效问题 Problem 给定整数 n l 和 r 找到将 n 表示为两个整数 A 和 B 之和的方法数 使得 l A B r Example 对于 n 6 l 2 且 r 4 输出应
  • 从AWS S3下载文件时的文件编码问题

    我在 AWS S3 中有一个 CSV 文件 我试图在本地临时文件中打开该文件 这是代码 s3 Aws S3 Resource new bucket s3 bucket bucket name obj bucket object object
  • Linux 中的安全 Python 环境

    是否可以创建一个在Linux下安全运行任意Python脚本的环境 这些脚本应该是从不受信任的人那里收到的 并且可能太大而无法手动检查 一个非常暴力的解决方案是创建一个虚拟机并在每次启动不受信任的脚本后恢复其初始状态 太贵了 我想知道是否可以
  • C# 字典 ValueOrNull / ValueorDefault

    目前我正在使用 var x dict ContainsKey key dict key defaultValue 我想要某种方法让字典 key 对于不存在的键返回null 所以我可以写类似的东西 var x dict key default
  • QMessageBox.Yes/QMessageBox.No 的值

    我学习 PyQt5 对我来说看起来很复杂 我想知道为什么QMessageBox Yes 或没有 有一些特殊的价值 对我来说是16384 这就是我的意思 from PyQt5 import QApplication QWidget QMess
  • XNA BlendState 与 SpriteBatch

    我们需要一个 BlendState 来充当以下角色 透明 PNG 按预期绘制 保留其后面的任何内容 We use Color White按原样绘制 PNG 我们将改变颜色的 Alpha 通道来改变纹理的 不透明度 为了达到这个效果 Blen
  • 如何正确捕获 WinForms 应用程序中所有未处理的异常

    我想为 WinForms 应用程序中任何线程的所有未处理异常设置处理程序方法 我自己不创建任何应用程序域 根据未处理的异常 https msdn microsoft com en us library system appdomain un
  • Kendo-UI 和 Angularjs 多选选项消失

    我正在使用 Angularjs 和 Kendo UI 当我使用 Kendo ui 多重选择并且我在同一视图上有其他元素时 当我在 我在下面的链接中添加了一个简单的 plunker 演示 要使用它 只需先从多选状态列表中选择一个或多个状态 然
  • 在哪里可以找到用于访问 Exchange/Outlook 联系人和约会的示例 Delphi 代码或组件?

    我需要 Delphi 代码或组件来访问 Exchange Outlook 联系人和约会 我可能需要使用扩展 MAPI 这是为了概念验证 所以我现在还没有准备好花大钱 有什么提示 链接 经验吗 看看这个 在 MS Outlook 中创建约会
  • 如何将具有相同列值的行分组?

    给定具有 3D 空间中的坐标的矩阵和两个矩阵中两个变量 例如 a 和 b 的值 我想将相同点的行合并到一个公共矩阵中 为了清楚地解释这个问题 假设我们有矩阵 A posX posY posZ a and B posX posY posZ b
  • 在 Mahout 0.8 中运行 cvb

    当前的 Mahout 0 8 SNAPSHOT 包括用于主题建模的折叠变分贝叶斯 cvb 版本 并删除了潜在狄利克雷分析 lda 方法 因为 cvb 可以更好地并行化 不幸的是 只有文档lda https cwiki apache org
  • SignalR 请求管道、集线器生命周期

    我从使用 asp net webapi 的 signalR 开始 我试图了解整个 signalR 请求 连接管道以及集线器的生命周期是什么以及谁创建和处置集线器实例 它是否在客户端之间的每次通信上创建 和服务器 原因之一是我们需要了解应该如
  • 文件上传在 jQuery UI 对话框中不起作用

    所以我有一个相当奇怪的问题 我想看看是否有人有一些见解 我有一个页面 其中显示已上传到我们服务器的文件网格 网格工具栏使他们能够上传更多文件 当他们单击工具栏上的 添加文件 按钮时 会出现一个 jQuery UI 对话框模式窗口 其中包含一
  • 在C++中,如何将一个字符串拆分为多个整数? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个由
  • Makefile:英特尔 fortran、文件夹中的源文件和英特尔数学核心函数库

    我在文件夹 ex 中有一个 main f90 f77 子程序文件位于 ex src 中 子程序文件再次使用 BLAS 和 LAPACK 库 对于 BLAS 和 LAPACK 我必须使用 Intel Math Kernel Library I
  • 获取 Facebook 页面选项卡上的用户位置

    可口可乐似乎在这方面做得很好 即使在任何用户交互之前 他们也会设法知道您所在的位置 这适用于 IE 因此不涉及 HTML5 毕竟 Facebook 不会识别navigatorJavaScript 中的对象 他们如何做到这一点 首先 我不认为
  • Sonarqube 未注册任何 C# 问题

    大概类似于这个问题 https stackoverflow com questions 36401757 sonarqube is not registering any c sharp issues 但由于之前的版本已经回答了这个问题 所
  • 匹配多个正则表达式组并删除它们

    我收到了一个文件 我想从中提取有用的数据 文件的格式如下 LINE 1 TOKENKIND somedata TOKENKIND somedata LINE 2 TOKENKIND somedata LINE 3 etc 我想做的是删除 L