longest valid parentheses
regular expression matching
wildcard matching