ruby regex: match and get position(s) of

后端 未结 3 487
暖寄归人
暖寄归人 2020-12-03 01:00

I\'d like to match a regex and get the position in the string of the match

For example,

\"AustinTexasDallasTexas\".match_with_posn /(Texas)/
<         


        
3条回答
  •  我在风中等你
    2020-12-03 01:29

    Sort of, see String#index

    "AustinTexasDallasTexas".index /Texas/
    => 6
    

    Now, you could extend the String API.

    class String
      def indices e
        start, result = -1, []
        result << start while start = (self.index e, start + 1)
        result
      end
    end
    p "AustinTexasDallasTexas".indices /Texas/
    => [6, 17]
    

提交回复
热议问题