^(\w*)\\n(\d{2}\:\d{2})\s\-\s(\w*\s\w*)\s\w*\s(\w*)\s\(\-(\d*)\s\w*\s\w*\)\\n\w*\s(\w*)\s\w*\s\w*\s(\w*)$ A208\n10:00 - Dublin Heuston to Cork (-3 mins late)\nArrived LJ896 next stop Mallow A211\n10:20 - Cork to Dublin Heuston (-2 mins late)\nArrived Templemore next stop Dublin Heuston ^(\w*)\b\\n(\d{2}\:\d{2})\s\-\s(\w*\s\w*)\s\w*\s(\w*)\s\(\-(\d*)\s\w*\s\w*\)\\n\w*\s(\w*)\s\w*\s\w*\s(\w*\s?\w*)$ D206\n11:20 - Dublin Heuston to Portlaoise (0 mins late)\nDeparted Hazelhatch next stop Sallins ^(\w*)\b\\n(\d{2}\:\d{2})\s\-\s(\w*\s\w*)\s\w*\s(\w*)\s\(\-?(\d*)\s\w*\s\w*\)\\n\w*\s(\w*)\s\w*\s\w*\s(\w*\s?\w*)$ A208\n10:00 - Dublin Heuston to Cork (-3 mins late)\nArrived LJ896 next stop Mallow ^(\w*)\b\\n(\d{2}\:\d{2})\s\-\s(\w*\s\w*)\s\w*\s(\w*)\s\(\-?(\d*)\s\w*\s\w*\)\\n\w*\s(\w*)\s\w*\s\w*\s(\w*\s?\w*)$ E811\n11:00 - Greystones to Malahide (0 mins late)\nArrived Lansdowne Road next stop Grand Canal Dock ^(\w*)\b\\n(\d{2}\:\d{2})\s\-\s(\w*)\s\w*\s(\w*)\s\(\-?(\d*)\s\w*\s\w*\)\\n\w*\s(\w*)\s\w*\s\w*\s\w*\s?(\w*\s?\w*\s?\w*)$ $pat="/([A-Z]\d{3}).{2}(\d{2}:\d{2})\s+-\s+(.+)\s+to\s+(.+)\s+\((-?\d+) mins late\).{2}(Departed|Arrived) (.+) next stop (.+)/"; E811\n11:00 - Greystones to Malahide (0 mins late)\nArrived Lansdowne Road next stop Grand Canal Dock ^(\w*)\b\\n(\d{2}\:\d{2})\s\-\s(.+) to (.+)\s\(\-?(\d*) mins late\)\\n\w*\s(\w*)\s\w*\s\w*\s\w*\s?(.+)$ ^(\w*).*(\d{2}\:\d{2})\s\-\s(\w*)\s\w*\s(\w*)\s\(\-?(\d*)\s\w*\s\w*\).*\w*\s(\w*)\s\w*\s\w*\s\w*\s?(\w*\s?\w*\s?\w*)$