正規表現を使用して一致させようとしている次のテキストがあります。
PRINT CONVERT(NVARCHAR, CURRENT_TIMESTAMP, 111) + ' ' + CONVERT(NVARCHAR, CURRENT_TIMESTAMP, 108) + ' -Test Mode : ' + (CASE WHEN @turbo_mode_ind = 1 THEN 'some text ''test'' some more text.' ELSE 'およびさらに多くのテキスト ''temp'' いつ停止しますか?' END)
PRINT 'text don''not text'
PRINT 'テキスト ''test2'' テキスト'
私が一致させたいのは:
PRINT CONVERT(NVARCHAR, CURRENT_TIMESTAMP, 111) + ' ' + CONVERT(NVARCHAR, CURRENT_TIMESTAMP, 108) + ' -Test Mode : ' + (CASE WHEN @turbo_mode_ind = 1 THEN 'some text ''test''
PRINT 'テキスト''test2''
だから基本的に私は一致したい:
- PRINTから始まる
- PRINT (.*) の後に続く各文字
- 改行を含む (改行で止めないでください)
- 一致の最後に \'{2}\w+\'{2} を使用
- 非貪欲 (.*?)
- AND PRINT と \'{2}\w+\'{2} の間に空行がない
私はすでにこれを作成しましたが、それでも空の行に一致します:
PRINT.*?\'{2}\w+\'{2}(?!\n\s*\n)