正規表現パターン - 正確で、その目的は何ですか? [閉鎖]

正規表現パターン - 正確で、その目的は何ですか? [閉鎖]

このパターンは正しいですか?

logPattern = ^NAME.log(-\d+)?$

これの目的は何ですか?

答え1

から直接引用正規表現 101- 正規表現をテストして説明するのに役立つページ:

/^NAME.log(-\d+)?$/
  • ^文字列の先頭をアサーション
  • NAME文字NAMEをそのまま一致させます(大文字と小文字を区別します)。
  • .すべての文字と一致します(改行を除く)。
  • log文字ログをそのまま一致させます(大文字と小文字を区別します)。

キャプチャグループ(-\d+)?

  • 数量者:?0と1の間、できるだけ多くの回数、需要に対するフィードバック[欲]
  • -文字一致 - 文字通り
  • \d数値一致 [0-9]
  • 数量者:+1回から無限大まで、できるだけ多くの回数、需要に応じたフィードバック[貪欲]
  • $文字列の終了位置を確認する

したがって、デフォルトでは、これはパターン(具体的には私が考えるファイル名)NAME.logまたはNAME.log-123456789(ビット数に制限はありません)と一致する文字列を検索します。

\「すべての文字」ではなくリテラル点と一致するように変更する必要があるため、式の点の前にバックスラッシュ()を追加する必要があります。

関連情報