sregex: matching Perl 5 regexes on data streams

By Yichun Zhang (‎agentzh‎)
Lightning talk
Target audience: Intermediate
Language: English
Tags: regex stream

You can find more information on the speaker's site:


This is a quick introduction to the sregex regex engine written in C, which is designed to match a good subset of Perl 5 regexes on non-buffered data streams, mostly useful for filtering large request bodies or response bodies in a web server or web app. Unlike PCRE or the Perl 5 regex engine, sregex is using a strict nonbacktracking algorithm.

A Just-In-Time compiler targeting x86_64 for the regexes in sregex will also be discussed briefly.

A real-world Nginx C module using this library will also be introduced, which is can perform regex replacement on Nginx response body streams in a non-buffered way.