Bunch of changes, including:
    o. Change the pattern-compile-flags to make it easier to remember.
    o. Add multi-line support.
    o. Simlify function prototypes