It's a character class of _not_ `<`, basically meaning "don't get greedy and match the `<head>` tag and a portion of the next tag".

If you want to check it out for yourself, go to [rubular](www.rubular.com) and use this test string:
```html
<html><head data-attr="foo"><title>asldkjfdslkjf</title></head></body>
```

Then you'll see my regexp (`<head[^<]*?>`) perfectly matches `<head data-attr="foo">`.  But try out some other stuff and you'll see it matches the head tag through the closing body tag, like my first attempt (`<head.*>`).  But greedy with my character class (`<head[^<]*>`) and non-greedy with the any-char class (`<head.*?>`) also work OK. So I combined them for a super-duper-extra-strength regexp.  :wink: