tags:

views:

24

answers:

2

How can I match a pattern in regex that can contain anything (letters,numbers,...) but matches only if it contains an underscore?

Basically I want to match bob_hello but not bobhello.

+1  A: 

If you want to match everything, ^.*_.*$ will do it. If you just want to test if the string contains a _, _ will be enough.

Blindy
+2  A: 

This seems pretty much like a homework question, so I'm not going to just give you the answer.

But, what you need to do is this:

Write a three part regular expression:

  1. First match any sequence of characters from the start of the string except '_'
  2. Then match exactly '_'
  3. Then match anything else, to the end of the string

There are other ways, of course - but this will work.

Bevan