From regular expression matching to parsing

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

70 Downloads (Pure)

Abstract

Given a regular expression R and a string Q, the regular expression parsing problem is to determine if Q matches R and if so, determine how it matches, e.g., by a mapping of the characters of Q to the characters in R. Regular expression parsing makes finding matches of a regular expression even more useful by allowing us to directly extract subpatterns of the match, e.g., for extracting IP-addresses from internet traffic analysis or extracting subparts of genomes from genetic data bases. We present a new general techniques for efficiently converting a large class of algorithms that determine if a string Q matches regular expression R into algorithms that can construct a corresponding mapping. As a consequence, we obtain the first efficient linear space solutions for regular expression parsing.

Original languageEnglish
Title of host publicationProceedings of 44th International Symposium on Mathematical Foundations of Computer Science
EditorsJoost-Pieter Katoen, Pinar Heggernes, Peter Rossmanith
Number of pages14
PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
Publication date1 Aug 2019
Article number71
ISBN (Electronic)9783959771177
DOIs
Publication statusPublished - 1 Aug 2019
Event44th International Symposium on Mathematical Foundations of Computer Science, MFCS 2019 - Aachen, Germany
Duration: 26 Aug 201930 Aug 2019

Conference

Conference44th International Symposium on Mathematical Foundations of Computer Science, MFCS 2019
CountryGermany
CityAachen
Period26/08/201930/08/2019
SeriesLeibniz International Proceedings in Informatics, LIPIcs
Volume138
ISSN1868-8969

Keywords

  • Algorithms
  • Finite automata
  • Regular expression parsing
  • Regular expressions

Fingerprint Dive into the research topics of 'From regular expression matching to parsing'. Together they form a unique fingerprint.

Cite this