1

正規表現を使用すると、n 行の直後のテキストと正確に一致します。

以下の例では、リクエストがid: 1の 3 行目の直後であることを確認したいと考えています。

例:

signal {
   id: 1
   files: 1.bin
   major: 338013710701
   request {
      reqId: 101
      files: 1.bin
      major: 35723057325
      status: Sent
   }
   response {
      resId: 201
      files: 1.bin
      major: 27151510570
      status: Accepted
   }
}

注: nの値は、入力によって異なります (n は 100 までの値を持つ場合があります)。ここで、n は文字列が存在する後の行数です

/signal\s*{\s*id:\s*1\n[^\n]*\n[^\n]*\s*request/mn の値が最小であるため、上記の例の正規表現を使用してみました。

n が 100 の場合、正規表現のフレーミングを手伝ってくれる人はいますか? 前もって感謝します。

4

2 に答える 2