至少有一个非空格

时间:2013-08-22 09:59:10

标签: regex

如果括号内至少包含一个非空格,则

str必须为true:

str = (a)
str = ( as bs)
str = (as e)

,如果它具有非空格

,则为false
str = (   )

我不确定我是否可以这样做+但是这个条件也传递了0个非空格。请纠正它。

/^\([\S+\s*]+\)$\.test(str)/

3 个答案:

答案 0 :(得分:5)

您可以使用:

/^\(.*\S.*\)$/.test(str)

这匹配任何字符,然后匹配非空白字符(使其至少有一个非空白字符),然后匹配任何字符直到最后。

答案 1 :(得分:0)

您可以使用以下内容:

^\((?!\s*\)).+\)$

这匹配一个打开的括号(,然后如果只跟空格和),它就会失败,或者它接受整行。

答案 2 :(得分:0)

假设str必须满足TRUE和FALSE并且隐式不允许嵌套

 ^(?:[^()]*\([^\S()]*[^\s()][^\S()]*\))+[^()]*$

扩展

 ^ 
 (?:
      [^()]* 
      \(
          [^\S()]* 
          [^\s()] 
          [^\S()]* 
      \)
 )+
 [^()]* 
 $