正则表达式匹配不以空格开头,包含或结束,而不是空字符串

时间:2013-07-21 01:07:30

标签: c# regex spaces string

我正在编写一个C#程序,需要验证输入字符串以确保它不以空格开头,不包含空格,并且不以空格结尾。

我目前正在使用以下正则表达式:

^[\S]*$

除非字符串为空,否则这对所有字符串都有效:

"HELLO" (Match)
"H" (Match)
"HE LLO" (No Match)
" HELLO" (No Match)
"HELLO " (No Match)
"" (Match) 

正如您所见,空字符串“”返回的匹配不是我想要的。

如何修改正则表达式以确保字符串不为空?

谢谢。

2 个答案:

答案 0 :(得分:2)

只需用一个或多个量词(*)替换零或多个量词(+)。此外,无需将\S包装在字符类中。试试这个:

^\S+$

进一步阅读:

答案 1 :(得分:0)

测试

的存在会更容易一些
 \s

任何地方......