gpt4 book ai didi

c# - 在整个文件中进行多行正则表达式搜索

转载 作者:太空狗 更新时间:2023-10-29 19:44:41 25 4
gpt4 key购买 nike

我找到了大量使用正则表达式替换文件中文本的示例。然而,这一切都归结为两个版本:
1. 遍历文件中的所有行并对每一行应用正则表达式
2. 加载整个文件。

没有。 2 使用“我的”文件是不可行的——它们大约是 2GiB...
至于第一:目前这是我的方法,但我想知道......如果需要应用跨越多行的正则表达式怎么办?

最佳答案

正则表达式不是可行的方法,尤其是对于这些大量的文本。创建一个你自己的小解析器:

  • 逐行阅读文件;
  • 对于每一行:
    • 通过 char 循环遍历 char 跟踪任何打开/关闭字符串文字
    • 当您遇到“/*”(并且您不在字符串“内部”)时,存储该偏移量并循环直到遇到第一个 '*/' 并存储该数字

这将为您提供注释 block 的所有起始和结束偏移量。您现在应该能够通过创建临时文件并将文本从原始文件写入临时文件来替换它们(当然,如果您在评论 block 中,还可以写入其他内容)。

编辑:2GiB的源文件??

关于c# - 在整个文件中进行多行正则表达式搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1509439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com