Ruby Programming/Reference/Objects/Regexp

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Regexp Regular Expressions[edit | edit source]

Class Regexp holds a regular expression, used to match a pattern of strings.

Regular expressions can be created using /your_regex_here/ or by using the constructor "new".

>> /a regex/
>> /a case insensitive regex/i

or use the new constructor with constants, like

>> Regexp.new('a regex')
>> Regexp.new('a regex', MULTILINE)

To see all available creation options, please see the regex rdoc.

oniguruma[edit | edit source]

Starting with 1.9, ruby has a new Regular Expression engine (oniguruma), which is slightly faster and more powerful, as well as encoding aware/friendly. To see a good explanation of how it works, please see its rdoc.

Simplifying regexes[edit | edit source]

Strategy: name them, then combine them.

float = /[\d]+\.[\d]+/
complex = /[+-]#{float}\.#{float}/

Helper websites[edit | edit source]

"rubular":http://rubular.com lets you test your regexps online

Alternative Regular Expression Libraries[edit | edit source]

Some other wrappers exist:

PCRE Boost Regex