[['aaaaaaa'],['bbbbbbbb'],['c']] 使用逻辑和 Ruby,我能找到达到-6ren">
gpt4 book ai didi

ruby - 正则表达式组重复字母

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

我正在尝试将所有重复的字母分组到一个字符串中。

例如:

"aaaaaaabbbbbbbbc" => [['aaaaaaa'],['bbbbbbbb'],['c']]

使用逻辑和 Ruby,我能找到达到我的意图的唯一方法是:

.scan(/(?:a+|A+)|(?:b+|B+)|(?:c+|C+)| ..... (?:y+|Y+)|(?:z+|Z+))

其中 ... 是其他字母。

有没有办法干掉那个正则表达式?我也使用了 backtrace (\1),但它与单个单词不匹配,也没有返回准确匹配的字母 => (\w+)\1 => [['aa'],['bb']]

嗯,我在这种情况下使用正则表达式是不是错了,我应该使用带迭代的 Ruby 方法?

我很高兴听到您的意见 :)谢谢!

最佳答案

只需使用另一个捕获组来捕获重复的字符。

s.scan(/((\w)\2*)/).map(&:first)
# => ["aaaaaaa", "bbbbbbbb", "c"]

关于ruby - 正则表达式组重复字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46989134/

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