Я использую R для извлечения строки «***** END OF REPORT *****», в середине отчета их много, и я хочу извлечь только последнюю »***** КОНЕЦ ОТЧЕТА ***** "в конце отчета.
A - это не то, что я хочу извлечь, потому что это не реальный конец отчета, за ним следует следующая частьотчета;B - это то, что я хочу, потому что за концом отчета следуют некоторые символы, и никакой другой информации после этого нет.
A:
" ***** END OF REPORT *****
¿ -----------------------------------------------------------------------
-------------------------------------------------------------
AABBCC00/A1 G E N E R A L L E D G E R
EFF DATE : 01/02/2019 PAGE : 1
AA111 GL TRANSACTION LISTING FROM 01/01/2019
TO 31/01/2019 RUN DATE : 02/02/2019 AT 01:09:15
-----------------------------------------------------------------------------
-------------------------------------------------------"
B:
" ***** END OF REPORT *****
· + ~ , o; J óX cg v
Ô” ¡¢ Å° ô¾ Í ‘Û"
Ниже приведено регулярное выражение, которое я написал до сих пор, но оно не работает должным образом.
str_detect(A,"(\\Q*****\\E END OF REPORT \\Q*****\\E\n.+)(?!--------------------$)" )
A должно возвращать FALSE;B должен вернуть TRUE (реальный конец).