C++ソースコードファイルから読み取った文字列でfor/if/whileキーワードを検索する正規表現を作成しようとしていますが、それらを含む単語は次のように除外します:
WhatifYes()
Whatfor()
Waitforwhile()
以下のように正規表現を書きました:
if { [ regexp {(for|while|if)(\s+)(\()} $lineValue ] } {
しかし、次のようなケースは取り上げていません。
while(( int x = 0 ) > 0 );
while(( int x = 0 ) > 0 )
for(int y =0 ; ; )
for(int y =0 ; ; );
if( (int x = 9) > 0 )
if( (int x = 9) > 0 );
最初は、正規表現が次のようにフレーム化されていると思っていました。
if/for/while \s+ ( #space or multiple spaces
しかし、上記の例にスペースを含めてみました:
while (( int x = 0 ) > 0 );
while (( int x = 0 ) > 0 )
if ( (int x = 9) > 0 )
if ( (int x = 9) > 0 );
まだ正規表現が機能していません - それらをキャプチャするためにどの正規表現を使用すればよいか教えてください。