如何在字符串中获取所有出现的正则表达式的索引(或位置)数组?
example_string= "hello how are you?
我想获得regexp /e/
答案 0 :(得分:7)
这是获取匹配索引数组的一种方法:
example_string = "hello how are you?"
example_string.enum_for(:scan, /e/).map { Regexp.last_match.begin(0) }
# => [1, 12]
希望它有所帮助!
答案 1 :(得分:4)
这是@ Zoren的优秀答案的变体:
example_string = "hello how are you?"
example_string.gsub(/e/).with_object([]) { |_,a| a << Regexp.last_match.begin(0) }
#=> [1, 12]