tags:

views:

58

answers:

5

I am new to regex (15 minutes of experience) so I can't figure this one out. I just want something that will match an alphanumeric string with no spaces in it. For example:

"ThisIsMyName" should match, but "This Is My Name" should not match.

A: 

Use the Regex "(\w+)"

Nicolas Bottarini
Also be aware that this matches the underscore character.
eldarerathis
A: 

this will match any sequence of non-space characters:

\S+
Philippe Leybaert
+4  A: 

^[a-zA-Z0-9]+$ will match any letters and any numbers with no spaces (or any punctuation) in the string. It will also require at least one alphanumeric character. This uses a character class for the matching. Breakdown:

^       #Match the beginning of the string
[       #Start of a character class
  a-z   #The range of lowercase letters
  A-Z   #The range of uppercase letters
  0-9   #The digits 0-9
]       #End of the character class
+       #Repeat the previous one or more times
$       #End of string

Further, if you want to "capture" the match so that it can be referenced later, you can surround the regex in parens (a capture group), like so:

^([a-zA-Z0-9]+)$

Even further: since you tagged this with C#, MSDN has a little howto for using regular expressions in .NET. It can be found here. You can also note the fact that if you run the regex with the RegexOptions.IgnoreCase flag then you can simplify it to:

^([a-z0-9])+$

eldarerathis
Aha, this works perfectly. I was missing the '$' before. Thanks a lot.
A.R.
A: 

Take a look at this link for a good basic Regex information source: http://regexlib.com/CheatSheet.aspx

They also have a handy testing tool that I use quite a bit: http://regexlib.com/RETester.aspx

That said, @eldarerathis' or @Nicolas Bottarini's answers should work for you.

Abe Miessler
A: 

I have just written a blog entry about regex, maybe it's something you may find useful:) http://blogs.appframe.com/erikv/2010-09-23-Regular-Expression

sv88erik