Request Tracker 4.0 でいくつかの Perl コードを処理していて、チケット リクエスタのメッセージが途切れるエラーが発生しました。私は Perl を初めて使用し、正規表現を使用していくつかの作業を行いましたが、かなり読んだ後でもこれに問題があります。
問題を次のコード行に絞り込みました。
$content =~ s/\n-- \n.*?$//s
私はそれが何をしているのかを完全には理解していません。より良い説明が必要です。
s/ /
パターン\n-- \n.*?$
に一致し、何も置き換えていないことを理解しています。
私は何を理解して.*?$
いません。ここに私の基本的な理解があります:
.
\n 以外の任意の文字*
直前の文字の 0 回以上?
直前の文字の 0 回または 1 回$
文字列の終わりです
次に、私が理解していることから、決勝戦s
は.
試合を改行させます
大まかに言うと、「 \n-- \n
- このコード行が疑わしい動作を引き起こしている」で始まるテキストを置き換えています。
誰かがこの行が何をしているのか説明できますか? 最初の後のすべてのテキストを削除するだけ
\n-- \n
ですか、それとももっとありますか?
長々とした部分 / 現実の問題 (質問に答えるためにこれを読む必要はありません)
私の正確な問題は、引用されたコンテンツを署名で切り取っていることです。
したがって、顧客からの電子メール A が次のように言う場合:
注文ABCDで何が起こっていますか?
-- 一部の顧客
スタッフの返信には次のように記載されています(顧客の署名の損失に注意してください)
本日発送です
注文ABCDで何が起こっていますか?
お客様が答える
私はそれを手に入れませんでした、それは出荷されませんでした!!!
-- 一部の顧客本日発送です
注文ABCDで何が起こっていますか?
私たちが返信すると、彼らのメッセージは -- でカットされ、すべてのコンテキストが殺されます。
本日発送 追跡番号12345
私はそれを手に入れませんでした、それは出荷されませんでした!!!
そして、それがどのような順序であるかを説明するなど、より多くの作業につながります。