I am doing below steps.
match sms with regex
if contains specified keyword then get values from sms body like amount,description (reason
To detect any transactional message in android :
"(?=.*[Aa]ccount.*|.*[Aa]/[Cc].*|.*[Aa][Cc][Cc][Tt].*|.*[Cc][Aa][Rr][Dd].*)(?=.*[Cc]redit.*|.*[Dd]ebit.*)(?=.*[Ii][Nn][Rr].*|.*[Rr][Ss].*)"
tested on several bank messages