# Re: regular expression gurus--help!

**URL:** <https://www.ruby-forum.com/t/re-regular-expression-gurus-help/170693>\
**Category:** Ruby\
**Created:** [June 21, 2009, 10:42am UTC](https://www.ruby-forum.com/t/re-regular-expression-gurus-help/170693 "2009-06-21T10:42:10Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![dandiebolt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a87d85/32.png) [@dandiebolt](https://www.ruby-forum.com/u/dandiebolt)\
**Post date:** [June 21, 2009, 10:42am UTC](https://www.ruby-forum.com/t/re-regular-expression-gurus-help/170693/1 "2009-06-21T10:42:10Z")

</div>

I think the code below could be improved, but try using StringScanner.

require “strscan”  
s=“abcdefgh”  
ss = StringScanner.new(s)

until ss.eos?  
Â a=ss.scan(/[a-z]{3}/)  
Â puts a  
Â ss.pos=ss.pos()-2 unless ss.eos?  
end

output:

abc  
bcd  
cde  
def  
efg  
fgh
