0

の意味は何ですかs#^.*/##s 。パターンで'.'は、\n.

then'.*は、ランダムな文字の乱数を表す必要があります。

しかし、本では、これはすべてのUNIXタイプのパスを削除すると述べています。

私の質問は、ランダム文字の乱数をスペースで置き換えることができるということですか?

4

4 に答える 4

5
s -> 置換
# -> パターン区切り
^.* -> すべての文字 先頭から 0 回以上
/ -> 文字通り /
## -> 何も置換しない (区切り文字 2 つ)
s -> 単一行モード (ドットは改行に一致します)
于 2013-08-28T18:07:54.140 に答える
0

少し衒学を許してください。しかし、私はこれを見続けており、正しく理解することが重要だと思います.

s#^.*/##s正規表現ではありません。

^.*正規表現です。

s///置換演算子です。

置換演算子は 2 つの引数を取ります。1 つ目は正規表現です。2 つ目は置換文字列です。

置換演算子 (Perl の他の多くの引用符のような演算子と同様) を使用すると、使用する区切り文字を変更できます。

置換s###演算子でもあります(の#代わりに使用するだけです/)。

s#^.*/##は、「正規表現に一致するテキストを見つけて^.*/、空の文字列に置き換えることを意味します。最後の は、他のすべての文字と同様に「\n」sに一致するように正規表現を変更するオプションです。.

于 2013-08-29T10:04:54.737 に答える