fancy-regex
pomsky
fancy-regex | pomsky | |
---|---|---|
5 | 19 | |
387 | 1,259 | |
2.6% | 0.2% | |
7.9 | 8.4 | |
3 months ago | 3 months ago | |
Rust | Rust | |
MIT License | Apache License 2.0 |
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.
fancy-regex
-
lemmeknow v0.7.0 is here with support for identifying bytes with help of regex crate!
https://github.com/fancy-regex/fancy-regex/issues/84 it's still open issue
-
Debian Running on Rust Coreutils
Ahh, very interesting, thanks for sharing! Do you have any thoughts around why that is? I presume that's due to Oniguruma supporting a much broader feature set and something like fancy-regexp's approach with mixing a backtracking VM and NFA implementation for simple queries would be needed for better perf? (I am aware you played a role in that) [1]
I have been playing around with regex parsing through building parsers through parser combinators at runtime recently, no clue how it will perform in practice yet (structuring parser generators at runtime is challenging in general in low-level languages) but maybe that could pan out and lead to an interesting way to support broader sets of regex syntaxes like POSIX in a relatively straightforward and performant way.
[1] https://github.com/fancy-regex/fancy-regex#theory
- Fancy-Regex: A hybrid NFA and backtracking Regex library in Rust
-
An additional non-backtracking RegExp engine
Not an expert but fancy regex is a Rust library that uses a hybrid approach to detect whether a sub expression contains backtracking and delegates to the appropriate engine.
https://github.com/fancy-regex/fancy-regex
pomsky
-
How to call from Rust into JS, Java, C#, Ruby and Python?
I started with JS, and my first step was to write a simple script that checks if a regex is valid. I can call this script from Rust, but there's a problem: Starting a nodejs process takes about 100ms, which is not acceptable, especially for fuzzing.
-
How do you guard against stack overflows
I noticed this when a test case of a parser I wrote failed in CI on Windows. I then learned that the default stack size on Windows is only 1 MiB whereas its 8 MiB on Linux if I remember correctly. The parser has a hard-coded recursion limit to prevent stack overflows, which is currently set to 128. However, this limit is lower than necessary on Linux, and might still be too high for some platforms (embedded?)
-
I have to rename Rulex
I was informed that Rulex is a registered trademark and I'm not allowed to use the name for my project. A lawyer contacted me and gave me a week to rename the project, so I have to come up with a different name :(
-
Melody 0.18 (a sane alternative to regular expressions)
In the other discussion, there's also a link to Rulex, which has similar goals but is more concise. Also claims to compile to multiple regex dialects.
-
Fuzzing rust-minidump at Mozilla for Embarrassment and Crashes – Part 2
Something similar happened to me a week ago. Someone emailed me that they found panics in rulex, and then created a PR to fix them. They even explained to me how to create a security advisory on GitHub because the panics could be used to DoS someone. It was very helpful.
-
Where would you put Error enums?
Sorry for not being more specific. Since this is a parser, the span points into the text file that is being parsed, so it's not that relevant for most libraries. Here is the parser, it uses nom parser combinators. Unfortunately, and adding the spans to the errors involves some boilerplate.
-
rulex VS melody - a user suggested alternative
2 projects | 19 Jun 2022
-
Any active open source repos built using Rust that need development ?
I welcome contributions for rulex. It's a medium-sized project that should be fairly easy to understand, and has some "good first issues" :)
-
Hacker News top posts: Jun 10, 2022
Rulex – A new, portable, regular expression language\ (102 comments)
- Rulex – A new, portable, regular expression language
What are some alternatives?
min-sized-rust - 🦀 How to minimize Rust binary size 📦
melody - Melody is a language that compiles to regular expressions and aims to be more readable and maintainable
just - 🤖 Just a command runner
grex - A command-line tool and Rust library with Python bindings for generating regular expressions from user-provided test cases
fab-rs - The fabulous, aspirationally Make-compatible, fabricator of files.
regex-automata - A low level regular expression library that uses deterministic finite automata.
BSDCoreUtils - BSD coreutils is a port of many utilities from BSD to Linux and macOS.
kleenexp - modern regular expression syntax everywhere with a painless upgrade path
regex - An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
taffy - A high performance rust-powered UI layout library
embedded-graphics - A no_std graphics library for embedded applications