Skip to content

Commit

Permalink
Public release. regXwild 1.3
Browse files Browse the repository at this point in the history
* NEW: Quantifiers are now standardized as follows:
        https://github.com/3F/regXwild#-quantifiers

        regex           | regXwild   | n
        ----------------|------------|---------
        .\*             | \*         | 0+
        .+              | +          | 1+
        .?              | ?          | 0;  1
        .{1}            | #          | 1
        .{2}            | ##         | 2
        .{2, }          | ++         | 2+
        .{0, 2}         | ??         | 0 - 2
        .{2, 4}         | ++??       | 2 - 4
        (?:.{2}\|.{4})  | ##??       | 2;  4
        .{3, 4}         | +++?       | 3 - 4
        (?:.{1}\|.{3})  | #??        | 1;  3

* NEW: Second-order Quantifiers. Added support for `++`
        regex equivalent `.{n, }`

* NEW: Quantifiers. Implemented `++??` support for ranges. Part of PR #7.
        ```
        {n, m} where n > 0 and m > n

            n == +
            m == ?
        ```
        * `++??` (2 - 4)
        * `+???` (1 - 4)
        * `+++?` (3 - 4)
        * `+?`   (1 - 2)

        etc. See unit-tests.

* NEW: Quantifiers. Implemented `##??` support for ranges. Part of PR #7.
        ```
        {n, m} where n > 0 and m > n

            n == #
            m == ?
        ```
        * `##??` (2 | 4)
        * `#???` (1 | 4)
        * `###?` (3 | 4)
        * `#?`   (1 | 2)

        etc. See unit-tests.

* FIXED: Fixed rewind in MS-split `|` like for '##'|'####'

* FIXED: Fixed errors in second order quantifiers: `?? == .{0, 2}` and `## == .{2}`
         For example:
         * False positive matching `[1####_of` for `TV_[11_of_24]`
         * Crashed `number = '????';` for `number = '123';`
         * and related.

* CHANGED: API versionString() marked as obsolete due to RXWVersion.
  • Loading branch information
3F committed Aug 10, 2020
1 parent de927c7 commit f3bd722
Show file tree
Hide file tree
Showing 6 changed files with 78 additions and 15 deletions.
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.2.0
1.3.0
16 changes: 9 additions & 7 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@

# [regXwild](https://github.com/3F/regXwild)

Small and super Fast Advanced wildcards! `*`,`|`,`?`,`^`,`$`,`+`,`#`,`>` in addition to slow regex engines and more.
Small and super Fast Advanced wildcards! `*`,`|`,`?`,`^`,`$`,`+`,`#`,`>`,[`++??`](https://github.com/3F/regXwild/pull/7),[`##??`](https://github.com/3F/regXwild/pull/7) in addition to slow regex engines and more.

Unique algorithms that was implemented on native unmanaged C++ but easily accessible also in .NET through **[Conari](https://github.com/3F/Conari)** (recommended due to caching of 0x29 opcodes and other related optimization).
Unique algorithms that was implemented on native unmanaged C++ but easily accessible in .NET through **[Conari](https://github.com/3F/Conari)** (recommended due to caching of 0x29 opcodes + related optimizations), and others such as [python](https://github.com/3F/regXwild/issues/6) etc.

[![Build status](https://ci.appveyor.com/api/projects/status/8knio1ggle0o8ugh/branch/master?svg=true)](https://ci.appveyor.com/project/3Fs/regxwild-github/branch/master)
[![release](https://img.shields.io/github/v/release/3F/regXwild)](https://github.com/3F/regXwild/releases/latest)
Expand All @@ -16,8 +16,8 @@ Unique algorithms that was implemented on native unmanaged C++ but easily access
Samples [](regXwildTest/EssSamplesTest.cpp) | regXwild filter | n
----------------------|----------------------|---------
number = '1271'; | number = '????'; | 0 - 4
year = '2020'; | '##'\|'####' | 2; 4
year = '20'; | = '##??' | 2; 4
year = '2020'; | '##'\|'####' | 2 \| 4
year = '20'; | = '##??' | 2 \| 4
number = 888; | number = +??; | 1 - 3


Expand Down Expand Up @@ -86,19 +86,21 @@ metasymbol | meaning

### 🧮 Quantifiers

1.3+ [`++??`](https://github.com/3F/regXwild/pull/7); [`##??`](https://github.com/3F/regXwild/pull/7)

regex | regXwild | n
----------------|------------|---------
.\* | \* | 0+
.+ | + | 1+
.? | ? | 0; 1
.? | ? | 0 \| 1
.{1} | # | 1
.{2} | ## | 2
.{2, } | ++ | 2+
.{0, 2} | ?? | 0 - 2
.{2, 4} | ++?? | 2 - 4
(?:.{2}\|.{4}) | ##?? | 2; 4
(?:.{2}\|.{4}) | ##?? | 2 \| 4
.{3, 4} | +++? | 3 - 4
(?:.{1}\|.{3}) | #?? | 1; 3
(?:.{1}\|.{3}) | #?? | 1 \| 3

and similar ...

Expand Down
61 changes: 61 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,67 @@
regXwild - https://github.com/3F/regXwild
- - - - - - - - - - - - - - - - - - - - -

[v1.3] 2020.08.10

* NEW: Quantifiers are now standardized as follows:
https://github.com/3F/regXwild#-quantifiers

regex | regXwild | n
----------------|------------|---------
.\* | \* | 0+
.+ | + | 1+
.? | ? | 0; 1
.{1} | # | 1
.{2} | ## | 2
.{2, } | ++ | 2+
.{0, 2} | ?? | 0 - 2
.{2, 4} | ++?? | 2 - 4
(?:.{2}\|.{4}) | ##?? | 2; 4
.{3, 4} | +++? | 3 - 4
(?:.{1}\|.{3}) | #?? | 1; 3

* NEW: Second-order Quantifiers. Added support for `++`
regex equivalent `.{n, }`

* NEW: Quantifiers. Implemented `++??` support for ranges. Part of PR #7.
```
{n, m} where n > 0 and m > n

n == +
m == ?
```
* `++??` (2 - 4)
* `+???` (1 - 4)
* `+++?` (3 - 4)
* `+?` (1 - 2)

etc. See unit-tests.

* NEW: Quantifiers. Implemented `##??` support for ranges. Part of PR #7.
```
{n, m} where n > 0 and m > n

n == #
m == ?
```
* `##??` (2 | 4)
* `#???` (1 | 4)
* `###?` (3 | 4)
* `#?` (1 | 2)

etc. See unit-tests.

* FIXED: Fixed rewind in MS-split `|` like for '##'|'####'

* FIXED: Fixed errors in second order quantifiers: `?? == .{0, 2}` and `## == .{2}`
For example:
* False positive matching `[1####_of` for `TV_[11_of_24]`
* Crashed `number = '????';` for `number = '123';`
* and related.

* CHANGED: API versionString() marked as obsolete due to RXWVersion.


[v1.2] 2020.02.10

* NEW: MultiByte support.
Expand Down
8 changes: 4 additions & 4 deletions regXwild.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
<projectUrl>https://github.com/3F/regXwild</projectUrl>
<repository type="git" url="https://github.com/3F/regXwild" />
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Small and super Fast Advanced wildcards! `*,|,?,^,$,+,#,&gt;` in addition to slow regex engines and more.
<description>Small and super Fast Advanced wildcards! `*,|,?,^,$,+,#,&gt;,++??,##??` in addition to slow regex engines and more.

Unique algorithms that was implemented on native unmanaged C++ but easily accessible also in .NET
through Conari (recommended due to caching of 0x29 opcodes and other related optimization).
Unique algorithms that was implemented on native unmanaged C++ but easily accessible in .NET
through Conari (recommended due to caching of 0x29 opcodes + related optimizations) etc.

Samples [⏯](run) | regXwild filter | n
----------------------|----------------------|---------
Expand Down Expand Up @@ -121,7 +121,7 @@
================== https://github.com/3F/GetNuTool

{build-info}</description>
<summary>Small and super Fast advanced wildcards! `*,|,?,^,$,+,#,&gt;` in addition to slow regex engines and more. https://github.com/3F/regXwild</summary>
<summary>Small and super Fast advanced wildcards! `*,|,?,^,$,+,#,&gt;,++??,##??` in addition to slow regex engines and... https://github.com/3F/regXwild</summary>
<tags>wildcards advanced-wildcards fast-wildcards fast-regex extended-wildcards strings text filter search matching search-in-text regex glob filters powerful-wildcards regexp cpp c dotnet dotnetcore csharp Conari regXwild native</tags>
<releaseNotes> changelog: https://github.com/3F/regXwild/blob/master/changelog.txt </releaseNotes>
<copyright>Copyright (c) 2013-2014, 2016-2017, 2020 Denis Kuzmin &lt; x-3F@outlook.com &gt; GitHub/3F</copyright>
Expand Down
4 changes: 2 additions & 2 deletions regXwild/RXWVersion.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ namespace net { namespace r_eg { namespace regXwild
TNum(int major, int minor, int patch, int build = 0)
: major(major), minor(minor), patch(patch), build(build) { }

TNum() : TNum(1, 2, 0, 0) { }
TNum() : TNum(1, 3, 0, 0) { }

} number;

const TCHAR* bSha1 = _T("");
const TCHAR* config = _T("");
const TCHAR* product = _T("1.2.0");
const TCHAR* product = _T("1.3.0");
};
}}}
2 changes: 1 addition & 1 deletion regXwild/regXwildAPI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ namespace net { namespace r_eg { namespace regXwild
*/
REGXWILD_API const TCHAR* versionString()
{
return /*vsSBE*/_T("1.2.0");
return /*vsSBE*/_T("1.3.0");
}

}}}

0 comments on commit f3bd722

Please sign in to comment.