Module: Regexp::Expression

Included in:
Parser
Defined in:
lib/regexp_parser/expression.rb,
lib/regexp_parser/expression/sequence.rb,
lib/regexp_parser/expression/quantifier.rb,
lib/regexp_parser/expression/classes/set.rb,
lib/regexp_parser/expression/classes/keep.rb,
lib/regexp_parser/expression/classes/root.rb,
lib/regexp_parser/expression/classes/type.rb,
lib/regexp_parser/expression/classes/group.rb,
lib/regexp_parser/expression/methods/match.rb,
lib/regexp_parser/expression/methods/tests.rb,
lib/regexp_parser/expression/subexpression.rb,
lib/regexp_parser/expression/classes/anchor.rb,
lib/regexp_parser/expression/classes/escape.rb,
lib/regexp_parser/expression/classes/backref.rb,
lib/regexp_parser/expression/classes/literal.rb,
lib/regexp_parser/expression/methods/options.rb,
lib/regexp_parser/expression/classes/property.rb,
lib/regexp_parser/expression/methods/traverse.rb,
lib/regexp_parser/expression/classes/set/range.rb,
lib/regexp_parser/expression/classes/free_space.rb,
lib/regexp_parser/expression/methods/strfregexp.rb,
lib/regexp_parser/expression/sequence_operation.rb,
lib/regexp_parser/expression/classes/alternation.rb,
lib/regexp_parser/expression/classes/conditional.rb,
lib/regexp_parser/expression/classes/posix_class.rb,
lib/regexp_parser/expression/methods/match_length.rb,
lib/regexp_parser/expression/classes/set/intersection.rb

Defined Under Namespace

Modules: Anchor, Assertion, Backreference, CharacterType, Conditional, EscapeSequence, Group, Keep, UnicodeProperty Classes: Alternation, Alternative, Base, CharacterSet, Comment, FreeSpace, Literal, PosixClass, Quantifier, Root, Sequence, SequenceOperation, Subexpression, WhiteSpace

Constant Summary collapse

MatchLength =
Regexp::MatchLength

Class Method Summary collapse

Class Method Details

.parsed(exp) ⇒ Object



117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# File 'lib/regexp_parser/expression.rb', line 117

def self.parsed(exp)
  warn('WARNING: Regexp::Expression::Base.parsed is buggy and '\
       'will be removed in 2.0.0. Use Regexp::Parser.parse instead.')
  case exp
  when String
    Regexp::Parser.parse(exp)
  when Regexp
    Regexp::Parser.parse(exp.source) # <- causes loss of root options
  when Regexp::Expression            # <- never triggers
    exp
  else
    raise ArgumentError, 'Expression.parsed accepts a String, Regexp, or '\
                         'a Regexp::Expression as a value for exp, but it '\
                         "was given #{exp.class.name}."
  end
end