正規表現の一致(zgrep、圧縮ファイルの検索)のために、grepは次のパターンを使用しています。
zgrep -P '(?<=start).{20,120}(?=end)' *
OR
途中で演算子を持ついくつかの用語を追加する必要がありますが、このパターンは機能しません。
zgrep -P '(?<=start)[first|second|third].{20,120}(?=end)' *
first|second|third
一致する文字列の途中でどのように紹介しますか?
答え1
括弧内の式はリスト内のすべての単一[..]
文字と一致するため、各文字を[first|second|third]
個別に一致させます。f
、、、、、、、、など。 (2番目の文字は必須ではありません。)この規則には、否定で始まる文字の範囲を表示するなど、いくつかの例外がありますが、パイプは特別ではないため、ファイル内でこの記号を検索するだけです。i
r
s
t
|
e
s
^
-
|
grep
あなたが望むものです(first|second|third)
。内部のすべての内容は(..)
基本正規表現のサブ式を形成し、それらを結合/連結して|
OR演算子として解釈できます。