Skip to content

Releases: mnemnion/mvzr

Try to match empty string

11 Nov 18:28
v0.2.4
fdd42e7
Compare
Choose a tag to compare

This release does a final try to match the empty string, which handles a pattern such as a*$ matching a string like "bbbb".

Bug fixes: alt + modifier, Kleene * + subsequent fail

10 Nov 16:44
v0.2.3
e22c155
Compare
Choose a tag to compare

This release fixes one bug in the regex compiler, and one in the matching runtime.

Upgrading is recommended.

Scoped Logging

12 Aug 20:39
v0.2.2
fbae8ac
Compare
Choose a tag to compare

Compile errors are now scoped in .mvzr, making it practical to filter them out when desired.

Regex convenience type now public

06 Aug 19:36
v0.2.1
343f555
Compare
Choose a tag to compare

This release makes the Regex type, which is just SizedRegex(64,8), public.

No other changes from v0.2.1.

Add regex.matchPos

06 Aug 18:08
v0.2.0
641ef3f
Compare
Choose a tag to compare

A convenience function which slices the string for you, and adjusts the values in the Match returned to their location in the original haystack string.

Add eager {M,N}+ qualifier

20 Jul 17:45
v0.1.2
Compare
Choose a tag to compare
Implements a{M,N}+

I consider this an especially useful eager qualifier to have.  It is in
the very nature of {M,N} patterns to 'want to' match N when that can be
accomplished.

I'm in favor of the use of eager/possessives in general, actually. Many
cases of greedy qualifiers could be either lazy or eager instead, those
which actually split the difference are rare.

Bugfix: character sets

20 Jul 02:56
v0.1.1
a193db8
Compare
Choose a tag to compare

Correctly handle the case where a hyphen is the final member of the set: adding the character before the hyphen, and the hyphen, instead of just adding the hyphen twice.

Version 0.1

19 Jul 20:58
v0.1.0
8656f32
Compare
Choose a tag to compare

This release adds word boundaries, allows character classes inside character sets, permits a newline to match $, and otherwise refactors, fixes, and improves mvzr.

Test coverage is decent, if not yet complete, and it has about as many features as I expect it to. Taking a look at this list of features, most of what isn't supported is a non-goal for mvzr. There are one or two I might consider.

At this point, you might reasonably expect that, using mvzr, you're likely to end up with matches for your regular expressions, which resemble what you expect. If not, please file an issue, and I'll see what I can do.

SizedRegex works, deduplicate character sets

18 Jul 19:51
v0.0.10
9a69961
Compare
Choose a tag to compare

This release fixes a function-signature problem with the dispatch functions, where they relied on the size of the default Regex character sets.

Also deduplicates character sets, meaning more patterns fit in the default size.

Improves group logic, bugfixes, more tests

18 Jul 17:57
3884041
Compare
Choose a tag to compare

Group patterns followed by more pattern now check the next match, giving later alternates a chance to succeed if necessary.