正则表达式提取文本“块”的 3 个版本的信息(制作 TSV)

正则表达式提取文本“块”的 3 个版本的信息(制作 TSV)

我有一个 GUI 的文本粘贴,结果形成了文本“块”,每行包含有关特定条目的不同信息。对于我想要收集的信息,有 3 种类型,我不知道如何处理。我认为 TSV 是一种很好的输出格式。我更希望用 Notepad++ 来处理正则表达式,但如果这无法实现,我真的希望用免费的正则表达式来处理简单的使用(和安装软件)网站或软件。

所讨论的 3 种类型有基本价格、折扣价格和无价格,对于所有这 3 种类型,应包括“块”第一行;以下内容包含每种类型的输入和期望输出。以下是我目前对具有基本价格和折扣价格的类型所做的工作:\R0\R\R(\w.*)\R(?:\w.*\R){4}[\w-].*\R.*CDN\$\s(\d+\.\d{2})\RCDN\$\s(\d+\.\d{2})\R(?:\w.*\R){3}

尽管下面不是以块引用形式聚集的代码,但我还是必须使用代码块。

非常感谢你的帮助

输入


0

South Park™: The Stick of Truth™
OVERALL REVIEWS:
OVERWHELMINGLY POSITIVE
RELEASE DATE:
3 MAR, 2014
-75%
CDN$ 39.99
CDN$ 9.99
Add to Cart
RPGComedyAdventureFunnyTurn-Based
Added on 8/9/2020 ( remove )

输出

South Park™: The Stick of Truth™    39.99   9.99

输入


0

Grand Theft Auto V
OVERALL REVIEWS:
VERY POSITIVE
RELEASE DATE:
13 APR, 2015
View Details
Open WorldActionMultiplayerAutomobile SimCrime
Added on 1/15/2020 ( remove )

输出

Grand Theft Auto V      

输入


0

System Shock
OVERALL REVIEWS:
NO USER REVIEWS
RELEASE DATE:
SUMMER 2021
CDN$ 51.49
Add to Cart
ActionAdventureCyberpunkSci-fiImmersive Sim
Added on 6/9/2020 ( remove )

输出

System Shock    51.49   

答案1

以下是完成这项工作的方法:

  • Ctrl+H
  • 找什么:0\R+(.+)\R(?:(?!CDN)(?!^0$)[\s\S])+(?:\RCDN\$\h+(\d+\.\d+))?(?:\RCDN\$\h+(\d+\.\d+))?\R(?:(?!^0$)[\s\S])+
  • 替换为:$1 $2 $3\n
  • 查看 相符
  • 查看 环绕
  • 查看 正则表达式
  • 取消选中 . matches newline
  • Replace all

演示与说明

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

相关内容