hfst
JSVerbalExpressions
hfst | JSVerbalExpressions | |
---|---|---|
3 | 4 | |
116 | 12,167 | |
0.9% | 0.1% | |
4.0 | 7.8 | |
about 1 month ago | 15 days ago | |
C++ | JavaScript | |
GNU General Public License v3.0 only | MIT License |
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.
hfst
- A portable, modern regular expression language
-
Search-and-replace with correct grammatical case - does it exist?
So you want to go from Spende to Spende+genitive to Beitrag+genitive to Beitrags. In addition to Spacy etc. you might look at Finite State Transducers, which I believe are bidirectional, i.e. for both analysis and generation. XFST and SFST and OpenFST are a few of the FST toolkits. See https://github.com/hfst/hfst for the Helsinki FST; there's a German transducer for it at https://sourceforge.net/projects/hfst/files/resources/morphological-transducers/hfst-german-installable.tar.gz/download. I don't think there is much of a learning curve, and there should be plenty of documentation.
-
Foldable Words
The regex syntax is a bit quirky due to backwards compatibility with lexicons written in XFST, see https://github.com/hfst/hfst/wiki/Regular-Expression-Operato...
JSVerbalExpressions
-
A portable, modern regular expression language
I agree with you. I got tired of fighting with regex where I got to the point of simply not using it if at all possible.
A comment further up offered a very promising alternative.
https://github.com/VerbalExpressions/JSVerbalExpressions#tes...
It's a bit verbose, but I don't care anymore, I am too much a veteran to care about my code being sleek, I want it readable and workable.
-
Melody - A language that compiles to regular expressions and aims to be more easily readable and maintainable
There is also VerbalExpressions with a somewhat similar idea
-
Regular expressions vs Me
JSVerbalExpressions — construct regular expressions with natural language terms
-
Super-expressive – Write regex in natural language
https://github.com/VerbalExpressions/JSVerbalExpressions
What are some alternatives?
HFSM2 - High-Performance Hierarchical Finite State Machine Framework
melody - Melody is a language that compiles to regular expressions and aims to be more readable and maintainable
lttoolbox - Finite state compiler, processor and helper tools used by apertium
super-expressive - 🦜 Super Expressive is a zero-dependency JavaScript library for building regular expressions in (almost) natural language
apertium - Core tools (driver script, transfer, tagger, formatters) for the FOSS RBMT system Apertium
logstash-patterns - Grok patterns for parsing and structuring log messages with logstash
simplenlg - Java API for Natural Language Generation. Originally developed by Ehud Reiter at the University of Aberdeen’s Department of Computing Science and co-founder of Arria NLG. This git repo is the official SimpleNLG version.
ocaml-re - Pure OCaml regular expressions, with support for Perl and POSIX-style strings
apertium-lex-tools - Module for compiling lexical selection rules and processing them in the pipeline.
fluent-plugin-grok-parser - Fluentd's Grok parser
regex - Regex to parse translator