Fix method typo IsEqual → Equal.
Break regular expression.

The regular expression as written was very hard to follow.  It has thus
been written as several auto-concaatenating strings to break it into
components for viewing and editing.  Also, found a missing invalid host
character which has been added to the host section's character class.