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