Releases: pemistahl/grex
Releases · pemistahl/grex
grex 1.0.0
Finally, the first stable release 1.0.0 is there. :-)
Features
- conversion to character classes
\d,\D,\s,\S,\w,\Wis now supported - repetition detection now works with arbitrarily nested expressions. Input strings such as
aaabaaabwhich were previously converted to^(aaab){2}$are now converted to^(a{3}b){2}$. - optional syntax highlighting for the produced regular expressions can now be enabled using the
--colorizecommand-line flag or with the library methodRegExpBuilder.with_syntax_highlighting()
Test Coverage
- new unit tests, integration tests and property tests have been added
grex 0.3.2
Test Coverage
- new property tests have been added that revealed new bugs
Bug Fixes
- entire rewrite of the repetition detection algorithm
- the former algorithm produced wrong regular expressions or even panicked for certain test cases (#9)
grex 0.3.1
Test Coverage
- property tests have been added using the proptest crate
- big thanks go to Christophe Biocca for pointing me to the concept of property tests in the first place and for writing an initial implementation of these tests
Bug Fixes
- some regular expression specific characters were not escaped correctly in the generated expression
- expressions consisting of a single alternation such as
^(abc|xyz)$were missing the outer parentheses. This caused an erroneous match of strings such asabc123or456xyzbecause of precedence rules. - the created DFA was wrong for repetition conversion in some corner cases. The input
a, aa, aaa, aaaa, aaabpreviously returned the expression^a{1,4}b?$which erroneously matchesaaaab. Now the correct expression^(a{3}b|a{1,4})$is returned.
Documentation
- some minor documentation updates
grex 0.3.0
Features
- grex is now also available as a library
- escaping of non-ascii characters is now supported with the
-eflag - astral code points can be converted to surrogate with the
--with-surrogatesflag - repeated non-overlapping substrings can be converted to
{min,max}quantifier notation using the-rflag
Bug Fixes
- many many many bug fixes :-O
grex 0.2.0
Features
- character classes are now supported
- input strings can now be read from a text file
Changes
- unicode characters are not escaped anymore by default
- the performance of the DFA minimization algorithm has been improved for large DFAs
- regular expressions are now always surrounded by anchors
^and$
Bug Fixes
- fixed a bug that caused a panic when giving an empty string as input
grex 0.1.0
This is the very first release of grex. It aims at simplifying the construction of regular expressions based on matching example input.
Features
- literals
- detection of common prefixes and suffixes
- alternation using
|operator - optionality using
?quantifier - concatenation of all of the former