'Return an anonymous filter function that will be passed the array
of parsed columns. Return None if no filter function can be
created for the given params.
The function will compare the column at index `column` against `val`
using the given op where op is one of:
- eq: exactly matches
- has: the column contains the substring `val`
- re: the column matches the regular expression in `val`'

def create_string_filter(self, column, op, val):

    if ('eq' == op):
        return (lambda d: (d[column] == val))
    elif ('has' == op):
        return (lambda d: (val in d[column]))
    elif ('re' == op):
        val = unquote_plus(val)
        val = re.compile(val)
        return (lambda d: (val.match(d[column]) is not None))
    return None
