diff --git a/README.md b/README.md new file mode 100644 index 0000000..4087de1 --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +## Kleingrep + +Kleingrep is a regular expression engine, providing a library and command-line tool written in Go. + +It aims to provide a more featureful engine, compared to the one in +[Go's standard library](https://pkg.go.dev/regexp), while retaining some semblance of efficiency. + +The engine does __not__ use backtracking, relying on the NFA-based method described in +[Russ Cox's articles](https://swtch.com/~rsc/regexp). As such, it is immune to catastrophic backtracking. + +It also includes features not present in regexp, such as lookarounds and backreferences. + +### Syntax + +The syntax is, for the most part, a superset of Go's regexp. A full overview of the syntax can be found [here](https://pkg.go.dev/gitea.twomorecents.org/Rockingcool/kleingrep/regex#hdr-Syntax). + +__For more information, see https://pkg.go.dev/gitea.twomorecents.org/Rockingcool/kleingrep/regex.