Regex grep参数在第一次匹配后停止?
我正在用R处理一个大文件,我只需要特定正则表达式的第一个匹配项,但是Regex grep参数在第一次匹配后停止?,regex,r,Regex,R,我正在用R处理一个大文件,我只需要特定正则表达式的第一个匹配项,但是grep正在进一步处理,这当然需要时间 第一场比赛后有没有办法让它停下来 编辑:看起来慢的不是grep而是readLines。读取120MB文件需要20秒。。。fread究竟是如何从数据中读取的。根据最新版本的R,在中读取该表应支持正则表达式子例程,该子例程可以包含量词,因此在您的情况下,您应该能够执行以下操作: (您的正则表达式)(?1){1} (此处为您的正则表达式):捕获正则表达式的组 (?1):对捕获组1的子例程调用
grep
正在进一步处理,这当然需要时间
第一场比赛后有没有办法让它停下来
编辑:看起来慢的不是grep而是readLines。读取120MB文件需要20秒。。。fread究竟是如何从数据中读取的。根据最新版本的R,在中读取该表应支持正则表达式子例程,该子例程可以包含量词,因此在您的情况下,您应该能够执行以下操作:
(您的正则表达式)(?1){1}
- (此处为您的正则表达式):捕获正则表达式的组
- (?1):对捕获组1的子例程调用
- {1} 一次匹配子例程
grep
包装到具有显式停止约束的循环中。那会慢一点吗?你能给我们看一个基准测试样本吗?我正在运行长度为1和长度为40000个字符的正则表达式,速度差约为1-2%。此外,您如何处理该文件?可能重复:能否提供使用grep
的代码示例?