1

sed を使用して正規表現から量指定子とメタ文字を削除する際に問題が発生しました。問題を複雑にするために、コードは評価内で使用されることを意図しています。

$word_check = "about\s*[\w\s]+";
$word_check =~ s/\\\[.+\\\]//g;
$$word_count[$#$word_count + 1] += () = $word_check =~ /(\w+)\s*/g;

Word_check は正規表現のコピーです。一致する単語のみに正規表現を減らしたい。そのために正規表現を使用します。次に単語を数え、結果を配列に保存します。選択の背後にある理由は、正規表現がいくつかの一部であり、一致 ($&) を使用するときに単語が削除されるためです。評価から。以下のコードは文字列として意図されています。

for ( my \$i = 0; \$i < \$\$ref_word_count[\$R]; \$i++ ) {
    \$temp_str =~ s/^\\w+\\s*//;
}

OK 答えが見つかりました。sed ステートメントをいくつか分割して、角括弧を単独の文字として表示する必要がありました。

$word_check =~ s/i$//;
$word_check =~ s/[\.\+]//g;
$word_check =~ s/\\[sdwSWD]//g;
$word_check =~ s/[[]//g;
$word_check =~ s/[]]//g;
$word_check =~ s/[*]//g;
$word_check =~ s/[?]//g;
4

1 に答える 1

1

おそらくこれは役立ちます

\ Qは、\ Eまでのパターンメタ文字を引用(無効化)します

\ Eケースの変更または引用されたセクションのいずれかを終了し、viを考えます

perldocperlreを参照してください

于 2012-11-07T20:13:05.990 に答える