流上的正则表达式而不是字符串?

流上的正则表达式而不是字符串?,第1张

流上的正则表达式而不是字符串?

如果您寻求一般解决方案,则算法将需要如下所示:

  1. 将流的一部分读取到缓冲区中。
  2. 在缓冲区中搜索正则表达式
  3. 如果模式匹配,则对匹配项做任何想做的事情,丢弃缓冲的开头直到
    match.end()
    第2步。
  4. 如果模式不匹配,请使用流中的更多数据扩展缓冲区

如果找不到匹配项,最终可能会占用大量内存,但是在一般情况下很难做到更好(考虑

.*x
在大型文件中尝试将其作为多行正则表达式进行匹配,唯一的
x
是最后一个字符)。

如果您了解更多有关正则表达式的信息,则可能还有其他情况可以丢弃部分缓冲区。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5017276.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存