Learning Text Patterns using Separate-and-Conquer Genetic Programming