0

powergrep を使用する場合、file sectioning というオプションがあり、最初の 3 つのオプションは次のとおりです。

  • ファイルをセクションにしないでください。
  • 1行ずつ
  • 改行を含めて 1 行ずつ

最初のオプションは、Perl の 'm' 修飾子 ("^" は文字列の先頭と各改行の後に一致し、"$" は各改行の前と文字列の末尾に一致します) に似ていると推測しています。改行に一致し、Perl の 's' 修飾子が使用されたかのようになります ("." は、改行を除外するのではなく、すべての文字に一致します)。

次の 2 つのオプションがわかりません。ごとに、チェックボックスのドットを新しい行に一致させることができます。また、改行を含む行ごとに (?s) 修飾子が再び使用されるため、これらのオプションがわかりません。

誰かがそれらのオプションを説明できますか? および s および m 修飾子との関係。

4

2 に答える 2

1

1 つの正規表現に対してドット マッチの改行をオンにするには、その前に (?s) を置きます。

(?n) または -line は、Tcl が「改行を区別する一致」と呼ぶものを有効にします。ドットおよび否定文字クラスは、改行と一致しません。キャレットとドルは、改行の前後で一致します。(?n) または -line を指定することは、(?pw) または -linestop -lineanchor を指定することと同じです。

(?m) は (?n) の歴史的な同義語です。

http://www.regular-expressions.info/tcl.html

于 2014-04-16T10:48:31.457 に答える