为什么我的字符串不能通过正则表达式?

时间:2013-08-21 17:31:29

标签: javascript regex

此字符串(kwordSyntaxSearch)应传递条件:

( sdf sdf )
cout<<"for you";

return 0; 
}

这是我的条件:

   /^\s*\([\s\S]*\)\s*[^\{][\s\S]*;\s*(if|else|else if|for|while|do|switch|\}|return)[\s\S]*$ /.test(kwordSyntaxSearch)

它不想传递cond,我错过了什么?

1 个答案:

答案 0 :(得分:2)

在字符串结束后你需要一个空格。删除该空格:

/^\s*\([\s\S]*\)\s*[^\{][\s\S]*;\s*(if|else|else if|for|while|do|switch|\}|return)[\s\S]*$/

请注意,您可以将[\s\S]缩短为[^](与任何字符匹配的字符类“除了没有字符”):

/^\s*\([^]*\)\s*[^\{][^]*;\s*(if|else|else if|for|while|do|switch|\}|return)[^]*$/