It looks like that link now has a slightly improved version of this regex with the following changes:

> Version history: this version improves upon the previous, shorter version which was here from Feb 2012 to March 2013 in that it restricts domain labels to 255 characters and prevents them beginning or ending with a “-”. That prior version differed from the version originally calculated in May 2011 in the blog post below, in that it stopped using \w and started using non-capturing parentheses.

We don't need the fix for length since you have that covered below, but preventing dashes at the beginning and end positions seems good. The new version also doesn't use `\w` which seems like a good idea except that I wonder how `a-z0-9` affects non ASCII characters in UTF-8. Probably worth trying to use a more inclusive range of characters (maybe `\w` *is* the way to go after all).