super-expressive
ocaml-re
super-expressive | ocaml-re | |
---|---|---|
6 | 2 | |
4,601 | 228 | |
- | 2.2% | |
4.6 | 5.8 | |
6 months ago | 5 days ago | |
JavaScript | OCaml | |
MIT License | GNU General Public License v3.0 or later |
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.
super-expressive
- i'd like you to meet regex-
- Melody - A language that compiles to regular expressions and aims to be more easily readable and maintainable
-
💡 expressive-glob: Write glob patterns in a super expressive and an easy way!
This project is inspired by super-expressive!
-
A tale of knowledge building
super-expressive is a library to create Regular Expressions (RegExp) in almost natural language. It's useful, simple and well-documented. One downside it's that it's a runtime library, something else to add to our bundle.
- Super-expressive – Write regex in natural language
-
All cashiers need to see is your birth year starting with 1 and they know you're old enough.
Here's an attempt at making regex readable in javascript, https://github.com/francisrstokes/super-expressive
ocaml-re
-
Show HN: Regex Derivatives (Brzozowski Derivatives)
Note that it's not difficult to (lazily or not) build a NFA using derivatives as well (with Antimirov's construction).
[1]: https://github.com/ocaml/ocaml-re/
-
Super-expressive – Write regex in natural language
I'm familiar with standard (compact) regex syntax, but I've been using the above syntax recently in a couple small places. I'm a bit on the fence as to which is "better". The compact syntax is, of course, more compact. I think it's a very similar comparison between APL (which I've not used) and most other common programming languages.
One advantage of the expanded syntax is that it's a bit nicer to incorporate a string variable, e.g. "str some_string" vs. "/#{Regexp.escape(some_string)}/" (to borrow Ruby's syntax).
[1] https://github.com/ocaml/ocaml-re
What are some alternatives?
babel-plugin-macros - 🎣 Allows you to build simple compile-time libraries
google-drive-ocamlfuse - FUSE filesystem over Google Drive
regex-benchmark - It's just a simple regex benchmark of different programming languages.
recross-coq - Regexp engine in Coq for solving regexp crosswords
babel-handbook - :blue_book: A guided handbook on how to use Babel and how to create plugins for Babel.
mcilroy-regex - Doug McIlroy's C++ regular expression matching library
fluent-regex - A nice fluent and typed way to construct regular expressions
agda-regexp-automata - Formalization of Regular Languages in Agda: regular expressions, finite-state automata, proof of equivalence, proof of the pumping lemma.
melody - Melody is a language that compiles to regular expressions and aims to be more readable and maintainable
regexp-Brzozowski - Coq formalization of decision procedures for regular expression equivalence [maintainer=@anton-trunov]
JSVerbalExpressions - JavaScript Regular expressions made easy
re1-rust - A port of re1, Russ Cox’s simple, virtual machine–based regular expression engine