eran otzap
eran otzap

Reputation: 12533

regex check for white space in middle of string

I want to validate that the characters are alpha numeric:

Regex aNum = Regex("[a-z][A-Z][0-9]");

I want to add the option that there might be a white space, so it would be a two word expression:

Regex aNum = Regex("[a-z][A-Z][0-9]["\\s]");

but couldn't find the correct syntax.

id applicate any incite.

Upvotes: 20

Views: 108471

Answers (5)

Farouk Belhocine
Farouk Belhocine

Reputation: 37

If you want to check for white space in middle of string you can use these patterns :

  1. "(\w\s)+" : this must match a word with a white space at least.
  2. "(\w\s)+$" : this must match a word with a white space at least and must finish with white space.
  3. "[\w\s]+" : this match for word or white space or the two.

Upvotes: 1

Zebi
Zebi

Reputation: 8882

[A-Za-z0-9\s]{1,} should work for you. It matches any string which contains alphanumeric or whitespace characters and is at least one char long. If you accept underscores, too you shorten it to [\w\s]{1,}.

You should add ^ and $ to verify the whole string matches and not only a part of the string:

^[A-Za-z0-9\s]{1,}$ or ^[\w\s]{1,}$.

Upvotes: 30

James Kyburz
James Kyburz

Reputation: 14503

To not allow empty strings then

Regex.IsMatch(s ?? "",@"^[\w\s]+$"); 

and to allow empty strings

Regex.IsMatch(s ?? "",@"^[\w\s]*$"); 

I added the ?? "" as IsMatch does not accept null arguments

Upvotes: 4

sverre
sverre

Reputation: 6919

"[A-Za-z0-9\s]*"

matches alphanumeric characters and whitespace. If you want a word that can contain whitespace but want to ensure it starts and ends with an alphanumeric character you could try

"[A-Za-z0-9][A-Za-z0-9\s]*[A-Za-z0-9]|[A-Za-z0-9]"

Upvotes: 5

Waqas Raja
Waqas Raja

Reputation: 10870

Exactly two words with single space:

Regex aNum = Regex("[a-zA-Z0-9]+[\s][a-zA-Z0-9]+");

OR any number of words having any number of spaces:

Regex aNum = Regex("[a-zA-Z0-9\s]");

Upvotes: 5

Related Questions