正则表达式 - 不应该连续允许空格

时间:2012-07-10 06:42:53

标签: java regex spring

在我的网络应用程序中,我有一个文本框,用户应在其中输入5到200个字符的字符。

问题是 - 当用户连续5个空格并保存条目时,它会成功保存。

我应该阻止用户连续输入'空格'(或单独使用空格)。

但我可以允许单个空格(比如'customer table',customer table')。

但是我可以允许用户输入带有字符的空白区域。另外,我不希望这个名字以空格开头。

有人可以帮助我获得上述条件的REGEX吗?

4 个答案:

答案 0 :(得分:2)

^\S+(\s\S+)*$

这个正则表达式应该做你想要的。它接受以非空白字符开头和结尾的非空字符串,并且只在单词之间使用一个空格。

您应该分别检查总字符串长度。

请注意,您需要在Java中转义\。

答案 1 :(得分:0)

以空格开头或包含2个以上的连续空格:

^\s|\s{2,}

答案 2 :(得分:0)

我建议你创建两个模式 一个^\s和另一个\s{2,}如果任何一个匹配则拒绝该字符串 或者,如果您想要禁用空格和换行符匹配的内容,请使用{2,},但无论如何都不应该有新行。

答案 3 :(得分:0)

将所有"\\s{2,}"替换为" ",然后将所有"^\\s+|\\s+$"替换为""(如果找到,则搜索并拒绝,具体取决于您的逻辑)。