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 ;};
|