如果前缀是非常大的文件中的某个字符串,则在括号之间获取/匹配文本[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果前缀是非常大的文件中的某个字符串,则在括号之间获取/匹配文本[关闭]相关的知识,希望对你有一定的参考价值。

我有一个大于13GB的文本文件,我只需要解析它的某些事件。

例如,文件的结构如下:

events internal-soho-ds-missing-neighbour :
   {
      ue-context valid : 3533, 
      rnc-module-id valid : 12, 
      c-id-1 valid : 25472, 
      rnc-id-1 valid : 721
   }
events rrc-measurement-report :
   {
      ue-context valid : 3533, 
      rnc-module-id valid : 12, 
      c-id-1 valid : 25472, 
   }

在python中打开文件之后,如果前缀是“events internal-soho-ds-missing-neighbor:”,我只需要括号{}之间的部分。

考虑到文件是巨大的13.8 GB,正则表达式,最好的方法是什么?

提前致谢!

答案

你可以这样试试:

events internal-soho-ds-missing-neighbour\s*:\s*{([\s\S]*?)}

有单行选项

Demo

以上是关于如果前缀是非常大的文件中的某个字符串,则在括号之间获取/匹配文本[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 如果目标字段为空,则在字段之间复制一个字符串

在非常大的文件中快速搜索字符串

如何替换Notepad ++中两个括号内的字符?

Python - 优化 N 中的 2 与 N 非常大的组合

Codeforces Round #529 (Div. 3) E. Almost Regular Bracket Sequence (思维)

如何在 Perl 中的匹配大括号之间提取字符串?