içinde joker karakter dizisi eşleşmesi Dizelere basit joker/glob eşleştirmesi sağlayan bir yardımcı işlev/modül yazmak istiyorum. Normal ifadeler kullanmama sebebim, kullanıcının bir çeşit yapılandırma dosyası kullanarak eşleşecek kalıpları sağlamasıyla sonuçlanan kişi olacaktır. Ben kararlı bir joker bulamadım - joker denedim ama ayar sorunları vardı.Ruby
Aradığım işlevsellik basit. Ben mümkün olduğunca verimli olmak için bu istiyorum
pattern | test-string | match
========|=====================|====================
*hn | john, johnny, hanna | true , false, false # wildcard , similar to /hn$/i
*hn* | john, johnny, hanna | true , true , false # like /hn/i
hn | john, johnny, hanna | false, false, false # /^hn$/i
*h*n* | john, johnny, hanna | true , true , true
etc...
: Örneğin, aşağıdaki desenler verilen Burada maçları. Desen dizelerinden düzenli ifadeler oluşturmayı düşündüm, ancak bu çalışma zamanında yapmak için oldukça verimsiz görünüyordu. Bu uygulama ile ilgili herhangi bir öneriniz var mı? Teşekkürler.
DÜZENLEME: Bu test edilmemiştir:: D
Ben john awesome'' olan ' '* örneğin hn'', o' gerekiyor' durumunda düşünüyorum true olarak geri dönmek ve '/.* hn $ /' ile eşleşmeyecek –
Bilgisayarımda globların çalıştığı yol görünmüyor (Mac OSX Leopard) https://gist.github.com/1041942 –
I joker karakterimin amacım için globden daha doğru olduğunu varsayalım - '' hn '' durumunda e desenden önce ve sonra her şey eşleşecek, ve sonra hiçbir şey; '' john '' için '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''. teşekkürler – sa125