项目作者: fisenkodv

项目描述 :
Wildcard Pattern Matching Implementation
高级语言: C#
项目地址: git://github.com/fisenkodv/wildcard-pattern.git
创建时间: 2018-06-20T13:40:43Z
项目社区:https://github.com/fisenkodv/wildcard-pattern

开源协议:

下载


Wildcard Pattern Matching

This Pattern Matching implementation supports singleWildcard (? in the pattern), multipleWildcard (* in the pattern), and exact match. See examples below

  1. WildcardPattern.IsMatchOptimized("banana", "banana"); // true
  2. WildcardPattern.IsMatchOptimized("banana", "b?n?na"); // true
  3. WildcardPattern.IsMatchOptimized("banana", "b?ana"); // true
  4. WildcardPattern.IsMatchOptimized("banana", "b?nana"); // true
  5. WildcardPattern.IsMatchOptimized("banana", "b????a"); // true
  6. WildcardPattern.IsMatchOptimized("banana", "b*na"); // true
  7. WildcardPattern.IsMatchOptimized("banana", "b*a"); // true
  8. WildcardPattern.IsMatchOptimized("banana", "b*"); // true
  9. WildcardPattern.IsMatchOptimized("banana", "b???*a"); // true

Benchmarks

  1. BenchmarkDotNet=v0.10.14, OS=Windows 10.0.17134
  2. Intel Core i5-4310M CPU 2.70GHz (Haswell), 1 CPU, 4 logical and 2 physical cores
  3. .NET Core SDK=2.1.300
  4. [Host] : .NET Core 2.1.0 (CoreCLR 4.6.26515.07, CoreFX 4.6.26515.06), 64bit RyuJIT
  5. DefaultJob : .NET Core 2.1.0 (CoreCLR 4.6.26515.07, CoreFX 4.6.26515.06), 64bit RyuJIT
Method Mean Error StdDev Median Rank
OptimizedWildCardPattern 2.164 us 0.0747 us 0.2191 us 2.085 us 1
RegexBasedWildCardPattern 14.228 us 0.3799 us 1.0778 us 13.823 us 2