开发者

regex check for white space in middle of string

开发者 https://www.devze.com 2023-02-21 23:25 出处:网络
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 expressi开发

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 expressi开发者_运维知识库on:

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

but couldn't find the correct syntax.

id applicate any incite.


[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,}$.


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]");


"[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]"


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


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.
0

精彩评论

暂无评论...
验证码 换一张
取 消