18 lines
2.1 KiB
Go
Raw Normal View History

2020-08-23 14:15:53 +00:00
//
// 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/
2024-10-17 17:05:28 +00:00
package wildcard ;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 _ ,_bg :=range name {_c =append (_c ,_bg );
};for _ ,_bf :=range pattern {_b =append (_b ,_bf );};_e :=true ;return _ff (_c ,_b ,_e );};func Match (pattern ,name string )(_g bool ){if pattern ==""{return name ==pattern ;};if pattern =="\u002a"{return true ;};_ed :=make ([]rune ,0,len (name ));_ea :=make ([]rune ,0,len (pattern ));
for _ ,_cg :=range name {_ed =append (_ed ,_cg );};for _ ,_gc :=range pattern {_ea =append (_ea ,_gc );};_ge :=false ;return _ff (_ed ,_ea ,_ge );};func Index (pattern ,name string )(_af int ){if pattern ==""||pattern =="\u002a"{return 0;};_d :=make ([]rune ,0,len (name ));
_fa :=make ([]rune ,0,len (pattern ));for _ ,_cc :=range name {_d =append (_d ,_cc );};for _ ,_ccb :=range pattern {_fa =append (_fa ,_ccb );};return _bgf (_d ,_fa ,0);};func _ff (_a ,_cb []rune ,_gg bool )bool {for len (_cb )> 0{switch _cb [0]{default:if len (_a )==0||_a [0]!=_cb [0]{return false ;
};case '?':if len (_a )==0&&!_gg {return false ;};case '*':return _ff (_a ,_cb [1:],_gg )||(len (_a )> 0&&_ff (_a [1:],_cb ,_gg ));};_a =_a [1:];_cb =_cb [1:];};return len (_a )==0&&len (_cb )==0;};func _bgf (_db ,_bd []rune ,_be int )int {for len (_bd )> 0{switch _bd [0]{default:if len (_db )==0{return -1;
};if _db [0]!=_bd [0]{return _bgf (_db [1:],_bd ,_be +1);};case '?':if len (_db )==0{return -1;};case '*':if len (_db )==0{return -1;};_gac :=_bgf (_db ,_bd [1:],_be );if _gac !=-1{return _be ;}else {_gac =_bgf (_db [1:],_bd ,_be );if _gac !=-1{return _be ;
}else {return -1;};};};_db =_db [1:];_bd =_bd [1:];};return _be ;};