Tôi đang làm việc thông qua một số mã Perl trong Yêu cầu Tracker 4.0 và đã gặp lỗi khi thông báo của người yêu cầu vé bị cắt. Tôi mới làm quen với Perl, tôi đã làm một số công việc với các biểu thức chính quy, nhưng tôi đang gặp một số rắc rối với điều này ngay cả sau khi đọc khá một chút.
tôi đã thu hẹp vấn đề của tôi xuống dòng mã này:
$content =~ s/\n-- \n.*?$//s
tôi không hoàn toàn hiểu những gì nó đang làm và muốn có một lời giải thích tốt hơn.
Tôi hiểu rằng s/ /
phù hợp với mẫu \n-- \n.*?$
và thay thế bằng không có gì.
Tôi không hiểu những gì .*?$
thực hiện. Dưới đây là sự hiểu biết cơ bản của tôi:
.
là bất kỳ ký tự trừ \ n*
là 0 hoặc nhiều lần trong những nhân vật trước?
là 0 hoặc 1 lần của nhân vật trước$
là phần cuối của chuỗi
Sau đó, từ những gì tôi hiểu, số s
cuối cùng làm cho .
phù hợp với các dòng mới
Vì vậy, gần như, chúng tôi đang thay thế bất kỳ văn bản nào bắt đầu bằng \n-- \n
- dòng mã này đang gây ra một số hành vi đáng ngờ mà tôi muốn được sắp xếp nếu ai đó có thể giải thích những gì đang xảy ra ở đây.
Ai đó có thể giải thích dòng này đang làm gì không? Có phải nó chỉ xóa tất cả văn bản sau \n-- \n
đầu tiên hoặc có nhiều văn bản hơn không?
dài lê thê vấn đề phần/thực tế cuộc sống (bạn không cần phải đọc này để trả lời các câu hỏi)
vấn đề chính xác của tôi là nó đang cắt giảm các nội dung trích dẫn ở chữ ký.
Vì vậy, nếu email A từ một khách hàng nói:
gì đang xảy ra với thứ tự ABCD?
- Một số khách hàng
Câu trả lời nhân viên nói (lưu ý sự mất mát của chữ ký của khách hàng)
Nó được vận chuyển hiện nay
gì đang xảy ra với thứ tự ABCD?
Khách hàng trả lời
tôi đã không nhận được nó, nó đã không xuất xưởng !!!
- Một số khách hàngNó được vận chuyển hiện nay
gì đang xảy ra với thứ tự ABCD?
Khi chúng tôi trả lời, thông điệp của họ sẽ cắt giảm tại - mà giết chết tất cả các bối cảnh.
Nó xuất xưởng hiện nay, theo dõi số 12345
tôi đã không nhận được nó, nó đã không xuất xưởng !!!
Và dẫn đến việc nhiều hơn giải thích những gì tự nó là vv
Thunderbird ít nhất cung cấp tùy chọn cho điều đó. Bạn có thể chọn đặt dấu ngoặc kép ở trên hoặc bên dưới chữ ký. Nó đủ thông minh để cắt phần '- \ n' khi trả lời, nhưng nó cũng tự cắt nó. Và Outlook không quan tâm đến dấu phân cách và sẽ luôn đặt dấu ngoặc kép bên dưới chữ ký (trong đó bạn sẽ phải tự đặt dấu phân tách). Trong TheBat! bạn đặt dấu ngoặc kép nơi bạn muốn chúng trong mẫu. – simbabque