# Question about a regular expression

**URL:** <https://www.ruby-forum.com/t/question-about-a-regular-expression/99417>\
**Category:** Ruby\
**Created:** [July 22, 2006, 2:51pm UTC](https://www.ruby-forum.com/t/question-about-a-regular-expression/99417 "2006-07-22T14:51:21Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![diegoami](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e68b1a/32.png) [@diegoami](https://www.ruby-forum.com/u/diegoami)\
**Post date:** [July 22, 2006, 2:51pm UTC](https://www.ruby-forum.com/t/question-about-a-regular-expression/99417/1 "2006-07-22T14:51:21Z")

</div>

Hi fellow ruby-ers

I don’t understand this regular expression

/\S+ \</

It is from the ruby quiz “Secret Santas”

[http://www.rubyquiz.com/quiz2.html](http://www.rubyquiz.com/quiz2.html)

What does it exactly mean ? The “\<” confuses me

Greetings & Thanks

---

<div class="post-metadata">

**Author:** ![diegoami](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e68b1a/32.png) [@diegoami](https://www.ruby-forum.com/u/diegoami)\
**Post date:** [July 22, 2006, 3:07pm UTC](https://www.ruby-forum.com/t/question-about-a-regular-expression/99417/2 "2006-07-22T15:07:24Z")

</div>

> > > > > “D” == Diego A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

D\> /\S+ \</

Well the format for a line is

FIRST\_NAME space FAMILY\_NAME space \<EMAIL\_ADDRESS\> newline

The regexp will select any non-whitespace character followed by a space  
and  
the character \<

‘\<’ was added to extract the FAMILY\_NAME, without this character  
(i.e. with /\S+ /) the regexp will match FIRST\_NAME

Guy Decoux

---

<div class="post-metadata">

**Author:** ![diegoami](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e68b1a/32.png) [@diegoami](https://www.ruby-forum.com/u/diegoami)\
**Post date:** [July 22, 2006, 3:26pm UTC](https://www.ruby-forum.com/t/question-about-a-regular-expression/99417/3 "2006-07-22T15:26:09Z")

</div>

On Jul 22, 2006, at 13:51, Diego A. wrote:

> What does it exactly mean ? The “\<” confuses me  
> In this case, the ‘\<’ is just a character. So, it’s looking for a  
> series of one or more non-whitespace characters, followed by a space,  
> followed by a ‘\<’

/\S+ \</.match(“blah match\_this\_section \< but not this”)[0]  
=\> “match\_this\_section \<”

matthew smillie.
