の意味は何ですかs#^.*/##s
。パターンで'.'
は、\n
.
then'.*
は、ランダムな文字の乱数を表す必要があります。
しかし、本では、これはすべてのUNIXタイプのパスを削除すると述べています。
私の質問は、ランダム文字の乱数をスペースで置き換えることができるということですか?
s -> 置換 # -> パターン区切り ^.* -> すべての文字 先頭から 0 回以上 / -> 文字通り / ## -> 何も置換しない (区切り文字 2 つ) s -> 単一行モード (ドットは改行に一致します)
少し衒学を許してください。しかし、私はこれを見続けており、正しく理解することが重要だと思います.
s#^.*/##s
正規表現ではありません。
^.*
正規表現です。
s///
置換演算子です。
置換演算子は 2 つの引数を取ります。1 つ目は正規表現です。2 つ目は置換文字列です。
置換演算子 (Perl の他の多くの引用符のような演算子と同様) を使用すると、使用する区切り文字を変更できます。
置換s###
演算子でもあります(の#
代わりに使用するだけです/
)。
s#^.*/##
は、「正規表現に一致するテキストを見つけて^.*/
、空の文字列に置き換えることを意味します。最後の は、他のすべての文字と同様に「\n」s
に一致するように正規表現を変更するオプションです。.