4

str如果括号中包含至少一个非空格,则必须为真:

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

如果它根本没有空格,则为 false

str = (   )

我不确定我是否可以这样做,+但这种情况也传递了 0 个非空格。请更正它。

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

3 回答 3

6

你可以使用这个:

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

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

于 2013-08-22T10:03:04.700 回答
0

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

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

展开

 ^ 
 (?:
      [^()]* 
      \(
          [^\S()]* 
          [^\s()] 
          [^\S()]* 
      \)
 )+
 [^()]* 
 $ 
于 2013-08-22T20:28:07.207 回答
0

您可以使用以下内容:

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

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

于 2013-08-22T10:07:00.697 回答