1
2
3
4
5
6
7
8
9
10
11
12
|
if options['pattern'] =~ %r{\A/(.*)/([imx]*)\z}
transform = {
'i' => Regexp::IGNORECASE,
'x' => Regexp::EXTENDED,
'm' => Regexp::MULTILINE,
}
ptrn, flags = $1, $2.split(//)
f = flags.inject(0) { |flags, letter| flags += transform[letter] if transform.has_key? letter }
@regexp = Regexp.new(ptrn, f)
else
raise "Invalid regular expression: #{options['pattern']}"
end
|