1

問題は次のとおりです。次のような文字列を含むbrain.txtというドキュメントがあります。

++++++++++[>++++++++>++++++>+<<<-]>+++.>+++++.<-.+.>>. word

最後のwordは本当にどんな言葉でもかまいません。ドキュメントから 7 文字ごとにプラスの行をフィルターするにはどうすればよいですか? 例:+......+......+......+..... word

次のコマンドを書きました。

egrep '^\+(.{6}\+)+.{,6}\s' brain.txt

しかし、うまくいかないようです。このコマンドの何が間違っているのか、誰か説明してもらえますか?

4

1 に答える 1

1

{,6}問題は、指定された正規表現フレーバーでは機能しないように見える簡略表記です。簡単に書きます:

egrep '^\+(.{6}\+)+.{0,6}\s' brain.txt

これには少なくとも 2 +秒かかることに注意してください。最初にシングル\+、サブパターンにもう 1 つ (少なくとも 1 回繰り返されるため)。+.... wordが有効な行である場合は、次を使用します。

egrep '^\+(.{6}\+)*.{0,6}\s' brain.txt
于 2012-11-01T00:28:02.553 に答える