(?:xxxxx) and friends are perl extensions to regex syntax, and do not capture. there's also similar looking ones for doing look-ahead/look-behind matching without eating up the string, and also posix and other convenience ones to match alphanumeric or numeric etc characters on multi-lingual (utf8) input.
the hardest line to type correctly is: stty erase ^H