私は自分自身を教えているので、私はこの言語をかなり熟知しています。私は正規表現について何度も読んできましたが、正しい文脈を理解することはできません。aの後の英数字の文字列を読み取ります。
レッツは、私は、ファイル名を持っていると言う「テストファイル」 このファイルが含まれている3行、私が読んで、後にのみ第三1、すべてをプリントアウトすることができますどのように
test this is the first line
test: this is the first line
test; this is the third line
を:私は、次の手順を実行したいです;
のスペースはありません。基本的に
「これは第三のラインである」ので、これは私がこれを誤って編集された$string =~ m/this is the third/
を行うことを考えていますものです。最初と2番目の文では、テストの前にスペースが必要です。だから私は空白を飛ばしたいと思う。
を:
あなたはあまりにも、コマンドラインでの素敵なワンライナーにこれらを回すことができます。
その後、STDINから読み込むプログラムを作ることができます。申し訳ありませんが、私はPerlの非常に新しいです。ここではすべてのキャラクターを私に説明してください。s/[^;] *; \ s * //; – NewLearner
ネゲートされた文字クラスの必要はありません。 '/; \ s *(。*)/'はうまく動作します。 @Wes:これは、セミコロンの後に0個以上の空白文字が続き、それに続くすべてをキャプチャすることを意味します。 – Borodin
@borodin:良い点、ありがとう。編集された... –