pcre-net

PCRE.NET - Perl Compatible Regular Expressions for .NET

OTHER License

Stars
142
Committers
3

Bot releases are visible (Hide)

pcre-net - v1.0.0 Latest Release

Published by ltrzesniewski 8 months ago

  • Updated PCRE2 to v10.43
  • Added macOS arm64 platform
  • Added new flags:
    • PcreRegexSettings: MaxVarLookbehind
    • PcreMatchOptions: DisableRecurseLoopCheck
    • PcreExtraCompileOptions: CaselessRestrict, AsciiBsD, AsciiBsS, AsciiBsW, AsciiPosix, AsciiDigit

This is also the first version marked as stable, it's about time to be honest.

pcre-net - v0.21.0-pre2

Published by ltrzesniewski 8 months ago

  • Updated PCRE2 to v10.43
  • Added macOS arm64 platform
  • Added PcreMatchOptions.DisableRecurseLoopCheck
pcre-net - v0.21.0-pre1

Published by ltrzesniewski 9 months ago

  • Updated PCRE2 to v10.43-RC1
  • Added PcreRegexSettings.MaxVarLookbehind
  • Added new PcreExtraCompileOptions: CaselessRestrict, AsciiBsD, AsciiBsS, AsciiBsW, AsciiPosix, AsciiDigit
pcre-net - v0.20.0

Published by ltrzesniewski almost 2 years ago

  • Updated PCRE2 to v10.42
pcre-net - v0.19.0

Published by ltrzesniewski over 2 years ago

  • Updated PCRE2 to v10.40
pcre-net - v0.18.1

Published by ltrzesniewski almost 3 years ago

  • Optimized zero-allocation matching (through CreateMatchBuffer())
  • Made PcreMatchBuffer disposable and finalizable
  • Removed thread safety check in PcreMatchBuffer
pcre-net - v0.18.0

Published by ltrzesniewski almost 3 years ago

  • Updated PCRE to v10.39
  • Added a ValueSpan property to string-based matches and groups
pcre-net - v0.17.0

Published by ltrzesniewski almost 3 years ago

  • Updated PCRE to v10.38 with a patch.
  • Added XML documentation (IntelliSense)
  • Disallowed reentrancy in PcreMatchBuffer
  • Breaking change: Changed the exception types thrown on error
  • Added the PCRE error code to the exceptions
pcre-net - v0.17.0-pre2

Published by ltrzesniewski about 3 years ago

  • New zero-allocation API: The PcreRegex.CreateMatchBuffer method lets you create a buffer which can then be used for matching operations without performing any further allocations.
  • Breaking change: Removed the following members on PcreMatchSettings: StartIndex, AdditionalOptions, SetCallout. These options now need to be provided directly to the Match/Matches methods. PcreMatchSettings now only contains advanced settings.
  • Removed the PcreRefMatch.Copy() method introduced in v0.17.0-pre1. PcreRefMatch can now be copied normally like any struct, and won't be overwritten unless it's created by the zero-allocation API.
pcre-net - v0.17.0-pre1

Published by ltrzesniewski about 3 years ago

  • Updated PCRE to v10.38-RC1
  • Added PcreExtraCompileOptions.AllowLookaroundBsK to enable \K support in lookarounds
  • Removed allocations when the match fails and there are few capturing groups in the pattern
  • Added a PcreRefMatch.Copy() method to create a copy of a ref match that will not be overwritten
  • Made some other optimizations
pcre-net - v0.16.0

Published by ltrzesniewski over 3 years ago

  • Updated PCRE to v10.37
  • Added a .NET 5 target with a few optimizations
pcre-net - v0.15.0

Published by ltrzesniewski almost 4 years ago

  • Added a GroupNames property in the pattern info (#24)
  • Added nullable reference types annotations
  • Breaking change: match[invalidIndex] and match[invalidName] won't return null anymore, but an "undefined" group
  • Added a IsDefined property to PcreGroup and PcreRefGroup to tell if a group index or name is defined
  • Added TryGetGroup methods to PcreMatch and PcreRefMatch to tell if a group index or name is defined
  • Made the values returned by PcreRefGroup consistent with those returned by PcreGroup when a group did not match
pcre-net - v0.14.0

Published by ltrzesniewski almost 4 years ago

  • Updated PCRE to v10.36
pcre-net - v0.13.1

Published by ltrzesniewski about 4 years ago

  • Removed dependency on C++ library (#20)
  • Fixed overflow error in callouts (#21)
pcre-net - v0.13.0

Published by ltrzesniewski over 4 years ago

  • Updated PCRE to v10.35
pcre-net - v0.12.0

Published by ltrzesniewski over 4 years ago

  • Added new APIs for matching ReadOnlySpan<char> inputs, based on ref struct types. These APIs will cause substantially less heap allocations.
  • The IsMatch instance method no longer allocates on the heap if there are few capturing groups in the pattern.
pcre-net - v0.11.0

Published by ltrzesniewski almost 5 years ago

  • Updated PCRE to v10.34, with an additional patch (r1190) which was necessary due to the way PCRE.NET tries to find multiple matches
  • Added PcreOptions.MatchInvalidUtf
pcre-net - v0.10.2

Published by ltrzesniewski about 5 years ago

  • Improved performance by disabling UTF checks for subsequent matches on the same input string. The UTF check is still performed by default for the first match (see #16).
pcre-net - v0.10.1

Published by ltrzesniewski over 5 years ago

  • Fixed an issue which prevented $n in replacement strings from working when placed at the end of the pattern.
pcre-net - v0.10.0

Published by ltrzesniewski over 5 years ago

  • Update to PCRE v10.33
  • New PcreExtraCompileOptions: EscapedCrIsLf, AltBsUX
  • JIT compilation options are now exposed as PcreRegexSettings.JitCompileOptions
    • PartialSoft and PartialHard JIT compilation options can now be specified separately
    • New InvalidUtf JIT compilation option
  • New PcreMatchOptions: CopyMatchedSubject (should not be useful in .NET unless you unsafe-modify strings)
Badges
Extracted from project README
Build NuGet Package GitHub release PCRE2 License