# Data Extraction via Semantic Regular Expression Synthesis

arXiv: https://arxiv.org/abs/2305.10401 · HTML: https://mlsanity.com/paper/2305.10401/

## Key facts

- Cited by 8 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 17 May 2023.

## Built on by (most cited first, 8 of 8)

- [DataVinci: Learning Syntactic and Semantic String Repairs](https://mlsanity.com/paper/2308.10922/) (2023)
- [Uncertainty Quantification for Neurosymbolic Programs via Compositional Conformal Prediction](https://mlsanity.com/paper/2405.15912/) (2024)
- [Extracting Explainable Dates From Medical Images By Reverse-Engineering UNIX Timestamps](https://mlsanity.com/paper/2505.11451/) (2025)
- [Correct and Optimal: the Regular Expression Inference Challenge](https://mlsanity.com/paper/2308.07899/) (2023)
- [Lost in Translation? Converting RegExes for Log Parsing into Dynatrace Pattern Language](https://mlsanity.com/paper/2506.19539/) (2025)
- [The Case for Instance-Optimized LLMs in OLAP Databases](https://mlsanity.com/paper/2507.04967/) (2025)
- [MetaSpace: Metamorphic Testing for Spatial Cognition in Embodied Agents](https://mlsanity.com/paper/2608.07533/) (2026)
- [Agents as Software: A Programming Languages Agenda for Agent Reliability](https://mlsanity.com/paper/2609.32198/) (2026)

## Abstract (arXiv)

Many data extraction tasks of practical relevance require not only syntactic pattern matching but also semantic reasoning about the content of the underlying text. While regular expressions are very well suited for tasks that require only syntactic pattern matching, they fall short for data extraction tasks that involve both a syntactic and semantic component. To address this issue, we introduce semantic regexes, a generalization of regular expressions that facilitates combined syntactic and semantic reasoning about textual data. We also propose a novel learning algorithm that can synthesize semantic regexes from a small number of positive and negative examples. Our proposed learning algorithm uses a combination of neural sketch generation and compositional type-directed synthesis for fast and effective generalization from a small number of examples. We have implemented these ideas in a new tool called Smore and evaluated it on representative data extraction tasks involving several textual datasets. Our evaluation shows that semantic regexes can better support complex data extraction tasks than standard regular expressions and that our learning algorithm significantly outperforms existing tools, including state-of-the-art neural networks and program synthesis tools.
