現在のテストケースに適切な正規表現を取得するのに問題があります。
テストケースの例:
#include <stdio.h>
#include <stdlib.h>
#include <foo_file.h>
int myint = atoi(foostring1);
float myfloat = atof(foostring2);
int myint2 = atoi(foostring3);
使用事例:
- 文字列には atof と
- 文字列には文字列 stdlib.h が含まれていません
- グループは関係ありません。文字列が存在するかどうかを知りたいだけです。
正規表現で
(?=^#include <stdlib.h>).*atof
ファイルに stdlib ヘッダーと atof が含まれているかどうかを確認できます。よく働く。ただし、次のような否定的な先読み正規表現を取得できないようです
(?!(?=.*^#include <stdlib.h>)).*(atoi)
上記の正規表現行を何時間も繰り返してみましたが、うまくいきません。
私が使用しているIDEの正規表現エンジンは、改行/改行文字全体のマッチングを許可し、使用したい正規表現パーサー/エンジンを選択できると仮定します(ただし、通常はperlを使用します)