想要扫描很长的字符串以查找正则表达式匹配。想知道找到前 N 个正则表达式的最有效方法是什么。例如就像是:
'abcabcabc'.scan /b/, limit: 2
如果仅扫描支持限制选项,则会在 5 个字符后成功结束。
(该字符串有几 MB - 内存中的记忆数据结构 - 这是一个 Web 请求。性能很重要。)
不是那么优雅,但你可以使用块形式:
str = 'abcabcabc'
result = []
str.scan(/b/) { |match| result << match; break if result.size >= 2 }
result #=> ["b", "b"]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)