正则表达式允许两个字符串之间的空格?

时间:2016-02-26 09:09:47

标签: java regex

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

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

但是在这里它也不接受两个字符串之间的空格。有人请告诉我在上面的模式中我必须做什么改变所以它会允许两个字符串之间的空格?但是不应该在字符串的开头和结尾处允许使用Space。

1 个答案:

答案 0 :(得分:1)

您可以使用 positive lookahead assertion 并使用\s来匹配空白,将[^\s]\S用于非空白

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

<强> Regex explanation

Regular expression visualization