... what do I call what I am trying to do with 0-9|a-e:0-9|a-e?
Assuming you're actually working with [0-9]|[a-e]:[0-9]|[a-e] (please use <code> ... </code> tags in future; please see Writeup Formatting Tips, Markup in the Monastery), it can be explained as:
c:\@Work\Perl\monks>perl -wMstrict -le
"use YAPE::Regex::Explain;
;;
my $rx = qr{ [0-9] | [a-e]:[0-9] | [a-e] }xms;
print YAPE::Regex::Explain->new($rx)->explain;
"
The regular expression:
(?msx-i: [0-9] | [a-e]:[0-9] | [a-e] )
matches as follows:
NODE EXPLANATION
----------------------------------------------------------------------
(?msx-i: group, but do not capture (with ^ and $
matching start and end of line) (with .
matching \n) (disregarding whitespace and
comments) (case-sensitive):
----------------------------------------------------------------------
[0-9] any character of: '0' to '9'
----------------------------------------------------------------------
| OR
----------------------------------------------------------------------
[a-e] any character of: 'a' to 'e'
----------------------------------------------------------------------
: ':'
----------------------------------------------------------------------
[0-9] any character of: '0' to '9'
----------------------------------------------------------------------
| OR
----------------------------------------------------------------------
[a-e] any character of: 'a' to 'e'
----------------------------------------------------------------------
) end of grouping
----------------------------------------------------------------------
See YAPE::Regex::Explain for regexes of Perl version 5.6 or before.
Give a man a fish: <%-(-(-(-<
|