package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?ms)^([\d-\.\s\:]+)\s.*?-\s([\w\s:\.]+)(<\w+.*?)\n\d{4}`)
var str = `2018-11-25 14:10:29.184 [ajp-bio-172.27.9.196-8009-exec-1] ERROR c.q.j.c.a.event.AuditEventHandler U:UNKNOWN SC:17618 TX:0 - SesIdCode is null. So no audit log transaction for this transaction
2018-11-25 14:10:29.184 [ajp-bio-172.27.9.196-8009-exec-1] INFO c.e.p.component.SenderComponent U:UNKNOWN SC:17618 TX:0 - SendMessage, Invockation End..
2018-11-25 14:10:38.666 [ajp-bio-172.27.9.196-8009-exec-1] DEBUG c.e.r.p.endpoint.PickerProcessor U:UNKNOWN SC:17618 TX:0 - Message Picked from the queue....<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header />
<soapenv:Body>
<EAI_MESSAGE>
<EAI_HEADER>
<ServiceName>SMS</ServiceName>
<ServiceType>SendSms</ServiceType>
<ServiceVersion>1.0</ServiceVersion>
<Client>xx</Client>
<ClientChannel>SBA</ClientChannel>
<MsgChannel>WebServices</MsgChannel>
<SecurityInfo>
<Authentication>
<UserId>xxx</UserId>
<Password>xxx</Password>
</Authentication>
<Authorization>
<UserId>xxx</UserId>
</Authorization>
</SecurityInfo>
<SnapIns>
<NameValue Name="" Value="" />
</SnapIns>
<RequestorLanguage>E</RequestorLanguage>
<EaiReference>0</EaiReference>
<ReturnCode>0000</ReturnCode>
</EAI_HEADER>
<EAI_BODY>
<EAI_REQUEST>
<SendSmsRequest>
<RefID>502521</RefID>
<ISD>974</ISD>
<PhoneNO>xxx</PhoneNO>
<Message>Dear User, Your unique OTP pin for xxx is xxxx</Message>
<Language>E</Language>
<Priority>2</Priority>
<SchDate />
<SrcKey>xx</SrcKey>
<Department>xx xx</Department>
<SMSUser>SMS Alerter</SMSUser>
</SendSmsRequest>
</EAI_REQUEST>
</EAI_BODY>
</EAI_MESSAGE>
</soapenv:Body>
</soapenv:Envelope>
2018-11-25 14:10:38.666 [ajp-bio-172.27.9.196-8009-exec-1] INFO c.e.r.process.GenericProcessor U:UNKNOWN SC:17618 TX:0 - Starting the processor -com.eix.processor.persistence.InPersisterProcessor
2018-11-25 14:27:58.099 [ajp-bio-172.27.9.196-8009-exec-1] INFO c.e.w.c.i.impl.CheckInServiceImpl U:UNKNOWN SC:17740 TX:0 - Invoking webservice http://alteainterface.qatarairways.com.qa/AlteaODS/AlteaODS.svc
2018-11-25 14:27:58.178 [ajp-bio-172.27.9.196-8009-exec-1] INFO c.e.w.c.i.impl.CheckInServiceImpl U:UNKNOWN SC:17740 TX:0 - Response Message : <MESSAGE><HEADER><ServiceName>xxxx xxxx</ServiceName><ServiceType>PassengerInfo</ServiceType><ServiceVersion>1.0</ServiceVersion><Client>xxx</Client><ClientChannel>xx</ClientChannel><MsgChannel>WebServices</MsgChannel><SecurityInfo><Authentication><UserId>xx</UserId><Password>xxx</Password></Authentication></SecurityInfo></HEADER><BODY><RESPONSE><passengerStatus>Invalid</passengerStatus><RegisteredFlight></RegisteredFlight><passengerPhone></passengerPhone><passengerEmail></passengerEmail><FFPNumber></FFPNumber></RESPONSE></BODY></MESSAGE>
2018-11-25 14:27:58.178 [ajp-bio-172.27.9.196-8009-exec-1] INFO c.e.r.process.GenericProcessor U:UNKNOWN SC:17740 TX:0 - Starting the processor -com.eix.processor.persistence.OutPersisterProcessor
2018-11-25 14:27:58.178 [ajp-bio-172.27.9.196-8009-exec-1] INFO
`
for i, match := range re.FindAllString(str, -1) {
fmt.Println(match, "found at index", i)
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Golang, please visit: https://golang.org/pkg/regexp/