我想在包含单行的超大文件(fe大于1
GB)中搜索模式。无法将其加载到内存中。目前,我使用BufferedReader
读入缓冲区(1024个字符)。主要步骤:
该算法(两个缓冲区)让我避免了将搜索到的文本按块分割的情况。除非模式结果小于两个缓冲区的长度,否则它的工作方式类似于chram。例如,当结果更长时,我无法处理大小写的情况-
假设只有3个缓冲区(但是我只有两个缓冲区中的数据,因此匹配将失败!)。而且,我可以实现这种情况:
ba*b
。Java有可能吗?我的意思是:
我希望我的解释很清楚。
我认为您的解决方案是将其实现CharSequence
为非常大的文本文件的包装。
为什么?因为Matcher
从a 构建a Pattern
需要一个CharSequence
参数。
当然,说起来容易做起来难……但是然后您只有三种方法可以实现,所以这应该不会太难…
编辑 我大吃一顿,吃了自己的狗粮。“最糟糕的部分”是它确实有效!
问题内容: 我需要找到与特定正则表达式匹配的所有软件包: 基本上,包的名字应该与启动,并有后话。例如,以下软件包应匹配: 我可以做,但是有很多我不感兴趣的软件包。 是否提供通过正则表达式查找软件包的方法?或者,我应该只是通过管道传递结果来过滤掉无关的包? 此外,可能是一个的“交集” ,并有助于太。 问题答案: alecxe,我相信这是您要寻找的一线客。 如下面评论中铬酸盐所建议的那样,您可以根据需
问题内容: 我需要在给定正则表达式的字符串中找到所有匹配项。我一直在这样做,直到遇到一个案例,它没有达到我的预期。例如: 在这种情况下,返回我需要的内容(最长的匹配项),但是行为却有所不同,尽管文档暗示它应该是相同的: 匹配所有出现的模式,而不仅仅是第一个。 为什么行为不同? 如何获得with (或其他方式)的结果? 问题答案: 好的,我从文档中查看发生了什么…… 如果该模式中存在一个或多个组,则
我的正则律很糟糕。我想建立一个智能搜索,在那里我可以给搜索引擎提示在哪个属性上搜索什么。 类似这样: 搜索输入:位置:伦敦 - 搜索输入:位置:纽约伦敦 - 搜索输入:位置:伦敦标签:栏 - - 搜索输入:地点:伦敦,纽约标签:酒吧,俱乐部 - - 我想知道正则表达式应该如何解析这样的用户输入?
我有: 使用正则表达式我想搜索并返回:
本文向大家介绍go语言文件正则表达式搜索功能示例,包括了go语言文件正则表达式搜索功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了go语言文件正则表达式搜索功能。分享给大家供大家参考,具体如下: PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用: JavaScript正则表达式在线测试工具: http://tools.jb51.net/regex/javascrip