This is the string I am working with:
string =
'\n\n <!----><div class="screen-reader-text" ng-if="::(ctrl.messageViewModel.isChat || ctrl.messageViewModel.isReply)" role="heading" aria-level="5">\n\n\nADMIN_COMMAND STOP\n\n, reply from YATIN </div><!---->\n\n <!--Chat head-->\n <div class="media-left" ng-class="{ \'hide-media-left\' : ctrl.messageViewModel.editFormVisible }">\n <!-- Person icon -->\n \n <!---->\n \n </div>\n\n <div class="ts-message-thread-body align-item-left" data-tid="messageThreadBody" ng-class="{\'has-attachments\': ctrl.messageViewModel.hasAttachments} ">\n <!--EditMessage-->\n <!---->\n <!--EditMessage-->\n <!----><div id="messageBody" class="message-body message-body-width" ng-if="!ctrl.messageViewModel.editFormVisible" simple-mouseenter="!ctrl.isInteropChat && ctrl.messageReactionsEnabled && ctrl.showMessageActions($event, this)" ng-mouseleave="!ctrl.isInteropChat && ctrl.messageReactionsEnabled && ctrl.hoverOutMessageBodyHandler($event)">\n <!----><div class="message-body-top-row padded-content" ng-if="!ctrl.isHiddenByDlp" ng-class="{ \'unread-message\': ctrl.messageViewModel.isNewMessage,\n \'has-reactions\': ctrl.messageReactionsEnabled && ctrl.messageViewModel.messageHasReaction}">\n <div class="top-row-text-container" ng-class="{\'single-line-truncation\': ctrl.messageReactionsEnabled && ctrl.messageViewModel.isRightRail}">\n <!--Name-->\n <div class="ts-msg-name app-small-font" data-tid="threadBodyDisplayName" dir="auto">\n
and so on...
The main part of interest is:>\n\n\nADMIN_COMMAND STOP\n\n, reply from
(in the ), from which I want to get ADMIN_COMMAND STOP
The ADMIN_COMMAND STOP
part can be of any length and can have numbers. Also, there can be several \n
s before and after it.
Other inputs can have:
>\n\n\nADMIN_COMMAND REFRESH\n\n, reply from
>0, reply from
>\n\n\n\nADMIN_COMMAND STOP\n\n\n, reply from
The output I want to get:
ADMIN_COMMAND STOP
ADMIN_COMMAND REFRESH
0
I came up with this:
re.findall(">.*([A-Z 0-9]*).*, reply from",string,re.DOTALL)
My logic:
Check for one
>
then, zero or more of any character (including\n
) then, find zero or more capital letter/digits and then again check for zero or more of any character (including\n
)