正则表达式检查字符串中间的空白区域

时间:2011-04-03 17:05:40

标签: c# regex whitespace

我想验证字符是字母数字:

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

我想添加可能存在空格的选项,因此它将是一个双字表达式:

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

但无法找到正确的语法。

id适用于任何煽动。

5 个答案:

答案 0 :(得分:22)

[A-Za-z0-9\s]{1,}应该适合你。它匹配任何包含字母数字或空格字符的字符串,并且至少有一个字符长。如果您接受下划线,也会将其缩短为[\w\s]{1,}

你应该添加^和$来验证整个字符串匹配,而不仅仅是字符串的一部分:

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

答案 1 :(得分:5)

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

匹配字母数字字符和空格。如果你想要一个可以包含空格的单词,但想确保它以字母数字字符开头和结尾,你可以尝试

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

答案 2 :(得分:4)

单个空格的两个单词:

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

或任意数量的具有任意数量空格的单词:

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

答案 3 :(得分:3)

不允许空字符串

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

并允许空字符串

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

我加了?? “”因为IsMatch不接受空参数

答案 4 :(得分:1)

如果要检查字符串中间的空格,可以使用以下模式:

  1. "(\w\s)+":必须至少与一个带有空格的单词匹配。
  2. "(\w\s)+$":必须至少与一个带有空格的单词匹配,并且必须以空格结尾。
  3. "[\w\s]+":此匹配词或空格或两者。