1. A method of searching a database retained in a data repository, comprising: iteratively generating a mixed query, the mixed query comprises: a regular expression, the regular expression is a pattern of elements, and the elements in the regular expression comprise: a first wildcard; and at least one of an explicit lexical constraint or a second wildcard; and a semantic constraint, the semantic constraint includes a restriction to a meaning of a match returned responsive to the first wildcard; and wherein iteratively generating the mixed query further comprises: executing a previous version of the mixed query to retrieve previous results from the database retained in the data repository; receiving feedback concerning the previous results retrieved in response to executing the previous version of the mixed query, the feedback specifies at least one of a subset of the previous results undesirably retrieved in response to executing the previous version of the mixed query or a set of missing results undesirably omitted from the previous results retrieved in response to executing the previous version of the mixed query; performing programming by example based on the feedback that specifies at least one of the subset of the previous results undesirably retrieved or the set of missing results undesirably omitted to automatically refine the previous version of the mixed query, wherein performing the programming by example based on the feedback generates the mixed query; and executing the mixed query to retrieve results that match the pattern of the elements in the regular expression and satisfy the semantic constraint, wherein the results are retrieved from the database retained in the data repository; and causing the results retrieved in response to executing the mixed query to be outputted.