Tôi có một chuỗi nhiều dòng và tôi chỉ muốn trích xuất các dòng khớp với một mẫu nhất định và loại bỏ phần còn lại của chuỗi.
Chuỗi gốc:
lorem ipsum dolor sit amet consectetur
nunc KEEP THIS LINE ut massa lorem
DO NOT KEEP THIS LINE aenean blandit
nunc KEEP THIS LINE et justo quis
praesent at velit felis vel
Chuỗi mong muốn cuối cùng:
KEEP THIS LINE ut massa lorem
KEEP THIS LINE et justo quis
Regex tôi có cho đến nay là:
(?ms).*?(?-s)^nunc (KEEP THIS LINE.*?$)
Tôi chỉ có thể thay thế trận đấu bằng phản hồi \1
. Tuy nhiên, điều này không thể thay thế từ cuối mẫu phù hợp cuối cùng đến cuối chuỗi.
Các regex:
(?ms).*?(?-s)(^nunc (KEEP THIS LINE.*?$)|(?s:).*?\Z)
xác định thành công mẫu giữa dòng mong muốn cuối cùng và cuối chuỗi, nhưng tôi không thể tìm ra cách loại bỏ nó.