このパターンは正しいですか?
logPattern = ^NAME.log(-\d+)?$
これの目的は何ですか?
答え1
から直接引用正規表現 101- 正規表現をテストして説明するのに役立つページ:
/^NAME.log(-\d+)?$/
^
文字列の先頭をアサーションNAME
文字NAMEをそのまま一致させます(大文字と小文字を区別します)。.
すべての文字と一致します(改行を除く)。log
文字ログをそのまま一致させます(大文字と小文字を区別します)。
キャプチャグループ(-\d+)?
- 数量者:
?
0と1の間、できるだけ多くの回数、需要に対するフィードバック[欲] -
文字一致 - 文字通り\d
数値一致 [0-9]- 数量者:
+
1回から無限大まで、できるだけ多くの回数、需要に応じたフィードバック[貪欲] $
文字列の終了位置を確認する
したがって、デフォルトでは、これはパターン(具体的には私が考えるファイル名)NAME.log
またはNAME.log-123456789
(ビット数に制限はありません)と一致する文字列を検索します。
\
「すべての文字」ではなくリテラル点と一致するように変更する必要があるため、式の点の前にバックスラッシュ()を追加する必要があります。