为什么我的字符串没有通过正则表达式

Why does my string not pass the regex?

本文关键字:正则表达式 我的 字符串 为什么      更新时间:2023-09-26

此字符串(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)

它不想过秒,我错过了什么?

您需要在字符串末尾加一个空格。删除该空间:

/^'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)[^]*$/