php - 在大文档的新行之间搜索随机文档“标题”
问题描述
如何在大型(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
解决方案
您可以使用此正则表达式来匹配或计算给定文本的标题数量,根据该文本,标题后面将跟两个换行符,并且前面至少有两个换行符。
(?:\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}
此外,已在 Notepad++ 7.6.1 中验证
推荐阅读
- javafx - 为什么单击按钮时我的 JavaFX 输出不显示 VBox?
- android - getContentResolver().insert(Uri,values) 返回 NullPointerException
- variables - 如何解决 Haskell 中的这种模棱两可的类型变量错误?
- javascript - 移动浏览器中的 Window.Print 正在打印整个窗口,并且即将出现额外的空白页
- javascript - 在 Chrome 扩展程序中使用内容脚本有没有办法让用户在 PDF 预览或 Google Doc 中进行选择?
- java - 通过数据库模式生成持久性映射后缺少 @CreationTimestamp 和 @UpdateTimestamp
- pygame - python pygame(带播放器的滚动相机)
- tensorflow2.0 - 使用 RNN 预测航班延误
- mysql - 使用 Laravel 4.2 的 Docker,连接到 DB 时抛出错误:SQLSTATE[HY000] [2002] No such file or directory
- javascript - 用js和dom appendChild添加输入标签好像没有边距