本に書かれた内容を理解するのが難しいです/.*/
。これにより、フルテキスト行が印刷されます。これは.
すべての文字を意味し、先頭の文字*
が0回以上表示されることを意味します。だから私は/.*/そのようなものを探したいと思います。rrr
qqqq
abbbbb
つまり、単一文字の連続した繰り返しを意味します。
しかし、それはそうすることではありません。なぜ?
私の2番目の質問は:なぜ/.+/
同じことをしないのですか?テキストでの私の試みの結果は次のとおりです。?
答え1
いいえ、*
in は.*
「以前のランダム数」を意味します。表現する"は、式に一致するすべての型のゼロ文字以上です.
。
これは、一致するすべての文字も.*
一致することを意味します。許可するので、空行にも一致します。aaaa
abcd
abcd
.
若いマッチ。
次を含む行を見つけるには繰り返す自然、用途
/\(.\)\1\1*/
この表現は「すべての文字と一致します。同じ役割、そして同じ文字の数"です\1*
。ただ繰り返される文字、この場合、次のように行の先頭と末尾に式を固定する必要があります。
/^\(.\)\1\1*$/
編集者ed
サポート基本的なよく使われる表現。修飾子+
は拡大する正規表現修飾子。エラー解決が有効な状態でこのコマンドを使用すると?
(またはGNUで)表示されます。これは、前に他の文字を含む行を探そうとするためです。ed
/.+/
no match
No match
ed
H
+
拡張.+
正規表現 (「1 つ以上のランダム文字一致」) は、..*
「1 文字に一致し、0 個以上のランダム文字に一致する」デフォルトの正規表現と同じです。
~によるとそのマニュアル、GNUは正規表現をed
サポートする必要があるため、同等ですが、私のOpenBSDシステムのGNU 1.14.2はこれを行いません。\+
..*
.\+
ed