挑战: 制作一个区分以下内容的正则表达式:
初始尝试:
提供的初始正则表达式有效检测内的平衡括号for/while 语句。但是,当循环表达式包含函数调用时,它会遇到困难。
^\s*(for|while)\s* \( # match the initial opening parenthesis (?P<balanced> [^()] | \( (?P=balanced)* \) )* # Look for a sequence of balanced substrings \) # Finally, the outer closing parenthesis. \s*;\s*
修订方法:
建议的解决方案偏离基于正则表达式的方法。相反,它使用一个简单的例程:
优点:
以上是正则表达式能否可靠地识别正确以分号终止的 C For 和 While 循环?的详细内容。更多信息请关注PHP中文网其他相关文章!