gpt4 book ai didi

arrays - 如何在我的数组中找到与正则表达式匹配的连续字符串?

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

我正在使用 Ruby 2.4。我想在我的字符串数组中找到与正则表达式匹配的连续标记。所以如果我的正则表达式是

/\p{L}/

我的数组是

 ["2917", "m", "neatty", "fff", "46", "u", "28", "56"]

我想要的结果是

["m", "neatty", "fff"]

但是,我这样做的尝试失败了(注意重复了“整洁”标记)...

2.4.0 :020 > arr = ["2917", "m", "neatty", "fff", "46", "u", "28", "56"]
=> ["2917", "m", "neatty", "fff", "46", "u", "28", "56"]
2.4.0 :021 > arr.each_cons(2).select{|pair| pair.all?{|elem| elem =~ /\p{L}/ }}.flatten
=> ["m", "neatty", "neatty", "fff"]

如何在数组中找到与不重复的模式相匹配的连续标记?

最佳答案

如果 r 是您的正则表达式,则使用 chunk_while

arr.chunk_while { |a,b| a[r] && b[r] }.select { |arr| arr.size > 1 }     
#=> [["m", "neatty", "fff"]]

关于arrays - 如何在我的数组中找到与正则表达式匹配的连续字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45130458/

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