正则表达式asp.net。输入不能包含双空格

时间:2010-03-23 00:56:11

标签: asp.net regex

如何在C#中编写正则表达式来验证输入是否包含双空格?我正在使用正则表达式验证。但是我不知道验证表达式是什么来获得结果。

"white snake"  : success
"white  snake" : fail

4 个答案:

答案 0 :(得分:4)

这里有正则表达式的选项

^((?!\ S \ S)。)* $

答案 1 :(得分:3)

您可以使用以下.net正则表达式来验证您提供的显式示例。

\ W + \ S {1} \ W +

这个正则表达式有三个部分,从左到右,它读起来像这样 - 任何单词字符至少一次后跟一个空格字符后跟任何单词字符至少一次。所以\ w +代表任何一个字符至少一次,\ s {1}代表任何空白字符只有一次。

如果您有人输入两个以上的单词,您可以使用上面的正则表达式来解决它,但是添加了一组分组的parens和一些代码来构建此模式的正确出现次数

我们可以采用上面的正则表达式并对其进行扩展,以查找此模式的任意数量,或者换句话说,不仅仅是两个单词。例如,如果您有三个单词而不是两个单词,则必须实现一组分组表,以明确说明此模式应在字符串中显示的次数。

例如,如果我们有“white snake valley”这个词,我们想确保每个单词之间只有一个空格,你可以按如下方式重写常规表达式:

(\ W + \ S {1} \ W +){2}

我们添加了分组parens并声明如果此模式恰好找到{2}两次,则表达式仅计算为true。

享受!

答案 2 :(得分:1)

使用正则表达式{2,}(该正则表达式的第一个字符是空格)。

答案 3 :(得分:0)

在输入中搜索子字符串"  "。如果找到,则输入无效。