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.