Re-examining regular expressions with backreferences

Most modern regular expression matching libraries (one of the rare exceptions being Google's RE2) allow backreferences, operations which bind a substring to a variable, allowing it to be matched again verbatim. However, both real-world implementations and definitions in the literature use diffe...

Full description

Saved in:
Bibliographic Details
Published in:Theoretical computer science Vol. 940; pp. 66 - 80
Main Authors: Berglund, Martin, van der Merwe, Brink
Format: Journal Article
Language:English
Published: Elsevier B.V 09.01.2023
Subjects:
ISSN:0304-3975, 1879-2294, 1879-2294
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Most modern regular expression matching libraries (one of the rare exceptions being Google's RE2) allow backreferences, operations which bind a substring to a variable, allowing it to be matched again verbatim. However, both real-world implementations and definitions in the literature use different syntactic restrictions and have differences in the semantics of the matching of backreferences. Our aim is to compare these various flavors by considering the classes of formal languages that each can describe, establishing, as a result, a hierarchy of language classes. Beyond the hierarchy itself, some complexity results are given, and as part of the effort on comparing language classes new pumping lemmas are established, old classes are extended to new ones, and several incidental results on the nature of these language classes are given.
ISSN:0304-3975
1879-2294
1879-2294
DOI:10.1016/j.tcs.2022.10.041