1. A method for regular expression learning, comprising: receiving an initial regular expression from a user; executing the initial regular expression over a database; receiving positive matches and negative matches being labeled by a user, wherein the positive matches and the negative matches are results of executing the initial regular expression; inputting the initial regular expression and the labeled positive and negative matches in a transformation process, wherein the transformation process comprises: executing a plurality of restrictions on the initial regular expression to transform the initial regular expression into a pool of candidate regular expressions, wherein the transformation process singularly executes each one of the plurality of restrictions on the initial regular expression until each of the plurality of restrictions is executed; and selecting a candidate regular expression from the pool of candidate regular expressions, where the selected candidate regular expression has a best F-Measure out of the pool of candidate regular expressions; wherein executing the plurality of restrictions for the transformation process comprises: executing a plurality of character class restrictions on the initial regular expression to transform the initial regular expression into the pool of candidate regular expressions, wherein the transformation process singularly executes each one of the plurality of character class restrictions on the initial regular expression until each of the plurality of character class restrictions are executed; executing a plurality of quantifier restrictions on the initial regular expression to transform the initial regular expression into the pool of candidate regular expressions, wherein the transformation process singularly executes each one of the plurality of quantifier restrictions on the initial regular expression until each of the plurality of quantifier restrictions are executed; and executing a plurality of negative lookaheads on the initial regular expression to transform the initial regular expression into the pool of candidate regular expressions, wherein the transformation process singularly executes each one of the plurality of negative lookaheads on the initial regular expression until each of the plurality of negative lookaheads are executed; wherein the transformation process executes, one at a time, the plurality of character class restrictions, the plurality of quantifier restrictions, the plurality of negative lookaheads.