A Case Study on Grammatical-Based Representation for Regular Expression Evolution
Regular expressions, or simply regex, have been widely used as a powerful pattern matching and text extractor tool through decades. Although they provide a powerful and flexible notation to define and retrieve patterns from text, the syntax and the grammatical rules of these regex notations are not easy to use, and even to understand. Any regex can be represented as a Deterministic or Non-Deterministic Finite Automata; so it is possible to design a representation to automatically build a regex, and a optimization algorithm able to find the best regex in terms of complexity. This paper introduces both, a graph-based representation for regex, and a particular heuristic-based evolutionary computing algorithm based on grammatical features from this language in a particular data extraction problem.
KeywordsRegular Expressions Grammatical-based representation Evolutionary algorithms
Unable to display preview. Download preview PDF.
- Barrero, D.F., Camacho, D., R-Moreno, M.D.: Automatic Web Data Extraction Based on Genetic Algorithms and Regular Expressions. In: Data Mining and Multiagent Integration. Springer, Heidelberg (2009)Google Scholar
- Chang, C.-H., Paige, R.: From regular expressions to dfa’s using compressed nfa’s, pp. 90–110 (1992)Google Scholar
- Cox, R. (ed.): Regular expression matching can be simple and fast (2007)Google Scholar
- Eiben, A.E., Smith, J.E.: Introduction to Evolutionary Computing. Natural Computing Series. Springer, Heidelberg (2008)Google Scholar
- Kleene, S.C.: Representation of events in nerve nets and finite automata. In: Shannon, C.E., McCarthy, J. (eds.) Automata studies, vol. 34, pp. 3–40 (1956)Google Scholar
- Zipf, G.: The psycho-biology of language. Houghton Mifflin, Boston (1935)Google Scholar