What are extended regular expressions?

perl, regex

Solution

As documented in `perlretut` (Just search for `/x`):

Long regexps like this may impress your friends, but can be hard to decipher. In complex situations like this, the `//x` modifier for a match is invaluable. It allows one to put nearly arbitrary whitespace and comments into a regexp without affecting their meaning. Using it, we can rewrite our 'extended' regexp in the more pleasing form

    /^
          [+-]?         # first, match an optional sign
          (             # then match integers or f.p. mantissas:
               \d+\.\d+  # mantissa of the form a.b
              |\d+\.     # mantissa of the form a.
              |\.\d+     # mantissa of the form .b
              |\d+       # integer of the form a
          )
          ([eE][+-]?\d+)?  # finally, optionally match an exponent
      $/x;

Problem

I am studying for an exam and one of the topics is on RegEx. There is a modifier, `x`, with the description 'uses extended regular expressions,' but it doesn't explain what this means. I can't really find anything on Google that fits the context of my study material. On a quiz, one of the questions asked what modifier allows the use of comments in RegEx, and the correct(?) answer was `x`. Could someone please help me make sense of this? Thank you. Edit: I meant `x` in the context of `[gix],` where `x` is described as 'uses extended regular expressions.'

Original source