\ban ASCII word boundary
Positive Lookahead(?=[a-zA-Z]*-) *matches any number of characters from the set below:
a-zone character from a (9710) to z (12210) (case sensitive)
A-Zone character from A (6510) to Z (9010) (case sensitive)
-the literal - (4510 / 558 / 2D16)
Athe literal A (6510 / 1018 / 4116) (case sensitive)
-?optionally matches the literal - (4510 / 558 / 2D16)
uthe literal u (11710 / 1658 / 7516) (case sensitive)
-?optionally matches the literal - (4510 / 558 / 2D16)
tthe literal t (11610 / 1648 / 7416) (case sensitive)
-?optionally matches the literal - (4510 / 558 / 2D16)
othe literal o (11110 / 1578 / 6F16) (case sensitive)
-?optionally matches the literal - (4510 / 558 / 2D16)
mthe literal m (10910 / 1558 / 6D16) (case sensitive)
-?optionally matches the literal - (4510 / 558 / 2D16)
othe literal o (11110 / 1578 / 6F16) (case sensitive)
-?optionally matches the literal - (4510 / 558 / 2D16)
bthe literal b (9810 / 1428 / 6216) (case sensitive)
-?optionally matches the literal - (4510 / 558 / 2D16)
ithe literal i (10510 / 1518 / 6916) (case sensitive)
-?optionally matches the literal - (4510 / 558 / 2D16)
lthe literal l (10810 / 1548 / 6C16) (case sensitive)
-?optionally matches the literal - (4510 / 558 / 2D16)
ethe literal e (10110 / 1458 / 6516) (case sensitive)
\ban ASCII word boundary
g modifier: global. Finds all matches instead of stopping after the first
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string