Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正则表达式-不应连续允许空白_Java_Regex_Spring - Fatal编程技术网

Java 正则表达式-不应连续允许空白

Java 正则表达式-不应连续允许空白,java,regex,spring,Java,Regex,Spring,在我的web应用程序中,我有一个文本框,用户可以在其中输入5到200个字符 问题是-当用户连续输入5个空格并保存条目时,它将成功保存 我应该阻止用户连续输入“空白”(或仅输入空白) 但我可以允许使用单个空格(如“customer table”,customer table) 但是我可以允许用户输入带有字符的空格。我也不想名字以空格开头 有人能帮我获取上述条件的正则表达式吗?以空格开头或包含两个以上连续空格: ^\s|\s{2,} 我建议您创建两种模式 一个^\s和另一个\s{2,}如果其中一个

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

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

我应该阻止用户连续输入“空白”(或仅输入空白)

但我可以允许使用单个空格(如“customer table”,customer table)

但是我可以允许用户输入带有字符的空格。我也不想名字以空格开头


有人能帮我获取上述条件的正则表达式吗?

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

^\s|\s{2,}

我建议您创建两种模式 一个
^\s
和另一个
\s{2,}
如果其中一个匹配,则拒绝该字符串 或者使用
{2,}
如果你想禁止空格和换行符这样的东西同时匹配,但是你不应该在其中有新行。

替换所有的
“\\s{2,}”
,然后用
替换所有的
“^\\s+\\s+$”
(或者根据您的逻辑,如果找到了,则搜索并拒绝)。

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

这个regexp应该执行您想要的操作。它接受以非空格字符开头和结尾的非空字符串,并且只在单词之间有一个空格

您应该单独检查字符串的总长度


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

“\\s{2,}”
匹配2个或更多空格字符。您可以将其明显更改为5或任何您想要的字符。这听起来像是String.trim()的作业,而不是regexp。我使用的是Spring Roo。因此,我必须在域类中单独使用REGEX