a)

^ Indicates the beginning of the string

{3, 16} Indicates that the subpattern must repeat from 3 to 16 times

[a-z0-9_-] Indicates that string can only contain "a - z", "0 - 9" and underscore "_" and a hyphen "-"

$ Indicates the end of the string

b)

^[\w-\.]+@([\w-]+\.)+\.co\.za$

ICT3612 - 44993072: Task 10 Code