Lib which allows for creating patterns, extracting tokens, matching against strings and replacing tokens based on matches