1
特定のCプリプロセッサの定義に対して、#else
の大文字小文字が見つかりません。Cプリプロセッサディレクティブの#elseの場合の正規表現
例:
#if defined(my_define)
// multiple
// lines
// of
// code
#else
// multiple
// lines
// of
// code
#endif
それとも
#if defined (my_define)
// same as above from here
しかし、私は#else
なしの場合と一致する必要はありません:
#if defined(my_define)
// multiple
// lines
// of
// code
#endif
私は、ネストされた#if
秒間気にしません、上記のケースだけ。
私はディレクティブの間の行の任意の数を処理する方法がわからない
defined..?my_define.(\r\n|\r|\n)?
で始まる試してみました。
(可能ですが)(https://regex101.com/r/01lRfw/1)、本当に醜いですね。 –
ありがとうございます。私はそれを '#if defined ..?my_define \ b(?:(?!end?if)[* s \ S])* else(?:(?!#(?:) end)?if)[#s endif}に定義名(および空白)を含めると完璧に動作します:-)解答を書くことは自由です。 – mh333