import java.util.* ;
import java.lang.* ;
import java.io.* ;
import java.util.regex.Matcher ;
import java.util.regex.Pattern ;
class Ideone
{
{
final String regex
= "^([a-zA-Z0-9]+)\\ s+Confirmed\\ .on\\ h+(\\ d{1,2}/\\ d{1,2}/\\ d\\ d)\\ h+at\\ h+(\\ d{1,2}:\\ d{1,2})\\ w*Ksh(\\ d+(?:\\ .\\ d+)?).*?\\ bfrom\\ h+(\\ d+)\\ h+([^.]+)\\ ." ;
final String string2
= "PFEDDTYG0D Confirmed.on 14/6/21 at 12:46PMKsh260.00 received from 254725400049 JOHN DOE. New Account balance is Ksh1,666. Transaction cost, Ksh1" ; final Pattern pattern = Pattern.compile ( regex, Pattern.MULTILINE ) ;
final Matcher matcher = pattern.matcher ( string2) ;
if ( matcher.find ( ) ) {
String code
= matcher.
group ( 1 ) ; String amountReceived
= matcher.
group ( 4 ) ; String tel
= matcher.
group ( 5 ) ; String from
= matcher.
group ( 6 ) ; String date
= matcher.
group ( 2 ) ; String time
= matcher.
group ( 3 ) ;
String format
= "code: %s amount received: %s from: %s date: %s time: %s tel: %s" ; System .
out .
println ( String .
format ( format, code, amountReceived, from, date, time, tel
) ) ; }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguTWF0Y2hlcjsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5QYXR0ZXJuOwoKCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlmaW5hbCBTdHJpbmcgcmVnZXggPSAiXihbYS16QS1aMC05XSspXFxzK0NvbmZpcm1lZFxcLm9uXFxoKyhcXGR7MSwyfS9cXGR7MSwyfS9cXGRcXGQpXFxoK2F0XFxoKyhcXGR7MSwyfTpcXGR7MSwyfSlcXHcqS3NoKFxcZCsoPzpcXC5cXGQrKT8pLio/XFxiZnJvbVxcaCsoXFxkKylcXGgrKFteLl0rKVxcLiI7CgoJCWZpbmFsIFN0cmluZyBzdHJpbmcyID0gIlBGRUREVFlHMEQgQ29uZmlybWVkLm9uIDE0LzYvMjEgYXQgMTI6NDZQTUtzaDI2MC4wMCByZWNlaXZlZCBmcm9tIDI1NDcyNTQwMDA0OSBKT0hOIERPRS4gTmV3IEFjY291bnQgYmFsYW5jZSBpcyBLc2gxLDY2Ni4gVHJhbnNhY3Rpb24gY29zdCwgS3NoMSI7CiAgICAgICAgZmluYWwgUGF0dGVybiBwYXR0ZXJuID0gUGF0dGVybi5jb21waWxlKHJlZ2V4LCBQYXR0ZXJuLk1VTFRJTElORSk7CiAgICAgICAgZmluYWwgTWF0Y2hlciBtYXRjaGVyID0gcGF0dGVybi5tYXRjaGVyKHN0cmluZzIpOwoKICAgICAgICBpZihtYXRjaGVyLmZpbmQoKSkgewogICAgICAgICAgICBTdHJpbmcgY29kZSA9IG1hdGNoZXIuZ3JvdXAoMSk7CiAgICAgICAgICAgIFN0cmluZyBhbW91bnRSZWNlaXZlZCA9IG1hdGNoZXIuZ3JvdXAoNCk7CiAgICAgICAgICAgIFN0cmluZyB0ZWwgPSBtYXRjaGVyLmdyb3VwKDUpOwogICAgICAgICAgICBTdHJpbmcgZnJvbSA9IG1hdGNoZXIuZ3JvdXAoNik7CiAgICAgICAgICAgIFN0cmluZyBkYXRlID0gbWF0Y2hlci5ncm91cCgyKTsKICAgICAgICAgICAgU3RyaW5nIHRpbWUgPSBtYXRjaGVyLmdyb3VwKDMpOwoKICAgICAgICAgICAgU3RyaW5nIGZvcm1hdCA9ICJjb2RlOiAlcyBhbW91bnQgcmVjZWl2ZWQ6ICVzIGZyb206ICVzIGRhdGU6ICVzIHRpbWU6ICVzIHRlbDogJXMiOwogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oU3RyaW5nLmZvcm1hdChmb3JtYXQsIGNvZGUsIGFtb3VudFJlY2VpdmVkLCBmcm9tLCBkYXRlLCB0aW1lLCB0ZWwpKTsKICAgICAgICB9Cgl9Cn0=