挑戰: 製作一個區分下列內容的正規表示式:
初始嘗試:
提供的初始正則表達式有效檢測內的平衡括號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中文網其他相關文章!