首页 > 解决方案 > 在大文档的新行之间搜索随机文档“标题”

问题描述

如何在大型(700mb)和“非格式化”txt 文件中计算随机“标题”?

“标题”始终采用以下格式:\n + random title + \n. 但是多个\n可以连续出现。

我正在寻找一个使用 Notepad++ 或任何其他编辑器的解决方案,只是为了计算结果数(例如通过使用正则表达式),或者sed提取这些标题的代码,或者任何语言代码中的任何其他解决方案(即。 Python、PHP 等)!

例子:


This is a random Title

Text Text Text Text Text
Text Text Text Text Text

This is a another random Title

Text Text Text Text Text
Text Text Text Text Text
Text Text Text Text Text
Text Text Text Text Text




This is a another another random Title

Text Text Text Text Text
Text Text Text Text Text
Text Text Text Text Text


This is a another another another random Title

Text Text Text Text Text
Text Text Text Text Text
Text Text Text Text Text

标签: phpregexsedfull-text-searchnotepad++

解决方案


您可以使用此正则表达式来匹配或计算给定文本的标题数量,根据该文本,标题后面将跟两个换行符,并且前面至少有两个换行符。

(?:\r?\n\r?\n|\A\r?\n?)[^\r\n]+(\r?\n){2}

检查这个演示

我已\r选择包含使其适用于 Windows 和 Linux,但如果您的行尾仅适用于 Linux,那么您可以从中删除\r

此外,如果您只想匹配和提取标题,您可以使用分组来捕获标题,或使用环视来匹配标题。这是捕获 group1 中标题的正则表达式的分组版本,

(?:\r?\n\r?\n|\A\r?\n?)([^\r\n]+)(\r?\n){2}

group1 中匹配标题的演示

此外,已在 Notepad++ 7.6.1 中验证

在此处输入图像描述


推荐阅读