mirror of
https://github.com/unidoc/unioffice.git
synced 2025-05-02 22:17:07 +08:00
12 lines
2.1 KiB
Go
12 lines
2.1 KiB
Go
//
|
|
// Copyright 2020 FoxyUtils ehf. All rights reserved.
|
|
//
|
|
// This is a commercial product and requires a license to operate.
|
|
// A trial license can be obtained at https://unidoc.io
|
|
//
|
|
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
|
|
//
|
|
// Use of this source code is governed by the UniDoc End User License Agreement
|
|
// terms that can be accessed at https://unidoc.io/eula/
|
|
|
|
package wildcard ;func _cc (_ff ,_bb []rune ,_gc int )int {for len (_bb )> 0{switch _bb [0]{default:if len (_ff )==0{return -1;};if _ff [0]!=_bb [0]{return _cc (_ff [1:],_bb ,_gc +1);};case '?':if len (_ff )==0{return -1;};case '*':if len (_ff )==0{return -1;};_ada :=_cc (_ff ,_bb [1:],_gc );if _ada !=-1{return _gc ;}else {_ada =_cc (_ff [1:],_bb ,_gc );if _ada !=-1{return _gc ;}else {return -1;};};};_ff =_ff [1:];_bb =_bb [1:];};return _gc ;};func Index (pattern ,name string )(_fg int ){if pattern ==""||pattern =="\u002a"{return 0;};_dc :=make ([]rune ,0,len (name ));_ae :=make ([]rune ,0,len (pattern ));for _ ,_deb :=range name {_dc =append (_dc ,_deb );};for _ ,_ed :=range pattern {_ae =append (_ae ,_ed );};return _cc (_dc ,_ae ,0);};func MatchSimple (pattern ,name string )bool {if pattern ==""{return name ==pattern ;};if pattern =="\u002a"{return true ;};_c :=make ([]rune ,0,len (name ));_b :=make ([]rune ,0,len (pattern ));for _ ,_ba :=range name {_c =append (_c ,_ba );};for _ ,_de :=range pattern {_b =append (_b ,_de );};_e :=true ;return _f (_c ,_b ,_e );};func Match (pattern ,name string )(_g bool ){if pattern ==""{return name ==pattern ;};if pattern =="\u002a"{return true ;};_ea :=make ([]rune ,0,len (name ));_ac :=make ([]rune ,0,len (pattern ));for _ ,_dd :=range name {_ea =append (_ea ,_dd );};for _ ,_gb :=range pattern {_ac =append (_ac ,_gb );};_be :=false ;return _f (_ea ,_ac ,_be );};func _f (_bdb ,_ag []rune ,_ad bool )bool {for len (_ag )> 0{switch _ag [0]{default:if len (_bdb )==0||_bdb [0]!=_ag [0]{return false ;};case '?':if len (_bdb )==0&&!_ad {return false ;};case '*':return _f (_bdb ,_ag [1:],_ad )||(len (_bdb )> 0&&_f (_bdb [1:],_ag ,_ad ));};_bdb =_bdb [1:];_ag =_ag [1:];};return len (_bdb )==0&&len (_ag )==0;}; |