gpt4 book ai didi

ruby - 在文本 block 中搜索正则表达式数组的最有效方法是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 07:54:15 25 4
gpt4 key购买 nike

我正在寻找最有效的方法来搜索文本 block (± 1/2KB) 以查找存储在数组中的许多正则表达式。

示例代码:

patterns = [/patternA/i,/patternB/i,/patternC/m,...,/patternN/i]

content = "Lorem ipsum dolor sit amet, consectetur... officiam id est laborum."

r = patterns.collect{ |pattern|

pattern unless ( content =~ pattern ).blank?

}.compact

r 现在包含与 content 字符串匹配的模式。

最佳答案

如果您只对任何模式是否与文本匹配感兴趣,请考虑将所有模式组合到一个大的正则表达式中,使用正则表达式“或”运算符,并编译这个巨大的正则表达式一次。

例如,如果您的模式是:ABC,请创建一个 A| 形式的正则表达式B|C

抱歉,我不懂 Ruby,但希望你能把它变成代码 (:

旁注:这是我上次查看的 Mercurial 的 .hgignore 文件的处理方式。在那种情况下,有 1000 多个文件名被扔到一个大的正则表达式中,这比那些文件名被扔到数百个较小的正则表达式中的每一个更有效率。

关于ruby - 在文本 block 中搜索正则表达式数组的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5665842/

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