这应该通过条件:
syntax_search = (){return 0;}
syntax_search = ( ) { fsf return 0;}
syntax_search = ( ) { return 0; }
syntax_search = (){ return; }
syntax_search = (){ if(x){ sdfsdf } return 0;}
syntax_search = (){ char x[20]; return };
没有通过上述所有组合,正确的方法是什么?
if( /^\s*(\s*)\s*{[\s\S]*\s+return\s*[0-9]*\s*;\s*}\s*/.test(syntax_search) )
答案 0 :(得分:2)
正则表达式包含许多不必要的复杂性,并且有些字符需要转义,例如{
和}
。
无论如何,你可以使用你的正则表达式的这个修改版本,它应该工作。
^\s*\(\s*\)\s*\{(.*(return\s*\d*\s*;)\s*)\}\s*;?$
// ^
// |
// There was a ? here
答案 1 :(得分:0)
一些问题:
;
的#3相同。 [\s\S]*
任何空间和一切空间。替换为点.*
如果您还需要匹配换行符,请使用[^]*
此正则表达式未锚定到字符串的末尾,因此它将允许无效字符串。 (你可以在最后一次之后放任何你想要的东西}
/ ^ \ S *(\ S *)\ S * {[^] 返回\ S \ d * \ S *; \ S *} \ S * $ /