Java 正则表达式是否允许两个字符串之间有空格?

Java 正则表达式是否允许两个字符串之间有空格?,java,regex,Java,Regex,我有以下模式来验证字符串 pattern ="^[a-zA-Z0-9_{}#$\/\-\+@!?()^%$`~|:,.=\[\]]*$" 但在这里它也不接受两个字符串之间的空格。有人能告诉我在上面的模式中我必须做什么改变,这样它才能允许两个字符串之间的空格吗?但是字符串的开头和结尾不允许有空格。您可以使用和\s来匹配空白,使用[^\s]或\s来匹配非空白 pattern ="(?=^[^\s]+(.*[^\s]+)*$)^[a-zA-Z0-9_{}#$\/\-\+@!?()^%$`~|:,.=

我有以下模式来验证字符串

pattern ="^[a-zA-Z0-9_{}#$\/\-\+@!?()^%$`~|:,.=\[\]]*$"
但在这里它也不接受两个字符串之间的空格。有人能告诉我在上面的模式中我必须做什么改变,这样它才能允许两个字符串之间的空格吗?但是字符串的开头和结尾不允许有空格。

您可以使用
\s
来匹配空白,使用
[^\s]
\s
来匹配非空白

pattern ="(?=^[^\s]+(.*[^\s]+)*$)^[a-zA-Z0-9_{}#$\/\-\+@!?()^%$`~|:,.=\[\]\s]*$"

参考
pattern=“(?=^[^\s]+(..[^\s]+)*$)^[a-zA-Z0-9{}$\/\-\+@!?()^%$`~\::,.=\[\]\s]*$”