DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Snippets has posted 5883 posts at DZone. View Full User Profile

Rails Regex Lookaround

09.11.2007
| 3747 views |
  • submit to reddit
        (Snagged from http://www.pivotalblabs.com/articles/2007/09/11/string-split-and-regex-lookarounds)

Ruby supports regular expression quite well, so it's not surprising that one can use a lookaround to match a specific position. That also works really well with String#split, so if one needs to extract the key/value out of a string such as this:

s = "TYPE=Exterior RED=119 GREEN=105 BLUE=88 TABLEREQ=PNTTBL-01 TABLE=Primary w/XL GENERICCLR=Beige GENERICCLRCODE=31"
s.split(/\s(?=[A-Z]*=)/)

Just splitting on "space" won't work because there are spaces inside the values, too ("Primary w/XML"). Simple and useful...