package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?mi)\s*ALERT:(?:Rs\.?|INR)(?:\s*)([0-9,]+(?:\.[0-9]+)?|\.[0-9]+)\s+spent\svia\s+[CcRrEeDdiITt]+\s+[CaCArRdD]+\s+([xX0-9]+)\s+at\s+([a-zA-Z0-9.-@\s]+)\s+on\s+(\d{4}-\d{2}-\d{2}:\d{2}:\d{2}:\d{2})\s+without\s+PIN\/OTP\.[NOTnot]+\s+you\?\s*Call\s+\d+.\s*`)
var str = `ALERT:You've spent Rs.234.82 on CREDIT Card xx7498 at GODADDY61117 in MUMBAI on 2019-10-04:09:11:10.Not you?Call 18002586161.
ALERT:Rs.5633.31 spent via CREDIT Card xx7498 at AMAZON1258399 on 2019-10-05:18:09:15 without PIN/OTP.Not you?Call 18002586161.
on\s+[CcRrEeDdiITt]+\s+[CaCArRdD]+\s+([xX0-9]+)\s+at\s+([a-zA-Z0-9.-@\s]+)\s+on\s+(\d{4}-\d{2}-\d{2}:\d{2}:\d{2}:\d{2}).[NOTnot]+\s+you\?\s*Call\s+\d+.\s*`
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/