regexp2
regex-automata
regexp2 | regex-automata | |
---|---|---|
4 | 5 | |
929 | 349 | |
- | - | |
2.9 | 0.0 | |
2 months ago | 10 months ago | |
Go | Rust | |
MIT License | The Unlicense |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
regexp2
-
Best regexp alternative for Go. Benchmarks. Plots.
regexp2 (1.10.0) - a feature-rich regexp engine for Go. It does not have runtime guarantees like the built-in regexp package, but is compatible with Perl5 and .NET;
-
Regex RE2 doesn't support specific Turkish characters.
https://github.com/dlclark/regexp2 I am going to use .NET engine until I find a workaround for stdlib :(
-
A CGo-free port of the PCRE2 regular expression library
It's also very useful if you're writing an interpreter which intends to be compatible with something that already needs PCRE support. For example, goja (a JS interpreter) uses regexp2 to support JS's regexp syntax, since JS is not limited to re2.
-
Converting ECMA script regex to golang
Compare https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Cheatsheet with https://github.com/dlclark/regexp2 - maybe github.com/dlclark/regexp2 is (almost) what you need.
regex-automata
-
regex 1.8.0 released (no-op escapes allowed, (?<name>re) syntax added)
I believe you're the second person to tell me they were confused by this, so there are probably several others confused but didn't say anything. I've added a warning to the top of regex-automata's README.
-
After years of work and discussion, `once_cell` has been merged into `std` and stabilized
For anyone following along at home, we're having a very helpful discussion about the implementation I posted in my sibling comment here: https://github.com/BurntSushi/regex-automata/issues/30
-
Pomsky 0.8 released: A powerful and modern regular expression language
My current technique only gets applied to alternations of simple literals. But the idea is generalizeable and I speculate that it is actually impactful to generalize it.
-
Rust: A Critical Retrospective
(I could use '_ => {}' instead of 'None' to save a few more.)
I do find the 'if let' variant to be a bit easier to read. It's optimizing for a particular and somewhat common case, so it does of course overlap with 'match'. But I don't find this particular overlap to be too bad. It's usually pretty clear when to use one vs the other.
But like I said, I could live without 'if let'. It is not a major quality of life enhancement to me. Neither will its impending extensions. i.e., 'if let pattern = foo && some_booolean_condition {'.
[1]: https://github.com/BurntSushi/regex-automata/blob/fbae906823...
[2]: https://github.com/BurntSushi/regex-automata/blob/fbae906823...
-
Memchr 2.4 now has an implementation of substring search on arbitrary bytes
(The work on regex-automata 0.2 has been underway for over a year now.](https://github.com/BurntSushi/regex-automata/tree/ag/work) There's a lot done, but still a lot more to go. Once that's done, regex proper should be pretty close to a thin layer that glues regex-syntax, regex-automata, memchr and aho-corasick together. I don't currently expect regex to grow any more dependencies than that. And as it is, aho-corasick and memchr are both optional dependencies. Right now, regex-syntax is the only required dependency, but regex-automata will be added to that list.
What are some alternatives?
re2 - R interface to Google re2 (C++) regular expression engine
pomsky - A new, portable, regular expression language
elsa - ❄️ Elsa is a minimal, fast and secure runtime for JavaScript and TypeScript written in Go
regex - An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
rex - Flexible regular expressions constructor for Golang.
grex - A command-line tool and Rust library with Python bindings for generating regular expressions from user-provided test cases
rust-memchr - Optimized string search routines for Rust.
go-re2 - Drop-in replacement for regexp using re2, for any Go app
biscuit - Biscuit research OS
ata - Experimental RegExp Engine with event triggering mechanism.