Represent a regular expression of some sort
The purpose of the PPIx-Regexp package is to parse regular expressions in a manner similar to the way the PPI package parses Perl. This class forms the root of the parse tree, playing a role similar to PPI::Document.
The PPIx::Regexp object is instantiated using either new() or new_from_cache(). Either way, you must pass it a regular expression, either as a string or as one of the three relevant PPI objects: PPI::Token::StringLike::Regexp, PPI::Token::Regexp::Match, or PPI::Token::Regexp::Substitute. In the case of new_from_cache(), only one PPIx::Regexp object will be generated from a given PPI object; subsequent calls with the same PPI object will return the same PPIx::Regexp object.