What area of machine learning should I look into to automatically extract certain info from messages
===

I have an app that extracts information from incoming messages.  The messages all contain the same information, but they have different forms depending on the source that sent them. 

Example:

Message from source A : 

    A: You spent $50.00 at Macy's on 2/20/12

Message from source B : 

    Purchase, $50.00, Macy's, 2Feb2012, Balance $5000.00

Every message from a single source has the same form though. So at the moment, I'm doing it by writing a set of regular expressions to first identify which message I'm trying to decode (i.e. what source it came from so I know what the form of the message is), and then extracting the necessary information from the message (in the above example, I want to know the transaction amount, the store where the transaction happened, and the date).  If I discover a new source for a message, or a source changes the format of their message (doesn't happen very often, but could happen), I need to manually write the regular expressions for that message. I'm sure however that I could automate this using some kind of machine learning technique.  I just don't know much about machine learning, and I don't know where to even start looking for a technique that would apply to my problem.  I would like someone to just point me in the right direction on where to start reading.