SORU
22 NİSAN 2010, PERŞEMBE


Lua desen eşleştirme vs düzenli ifadeler

Şu anda lua öğreniyorum. lua desen eşleştirme ile ilgili lua.org üzerinde lua belgelerinde şu cümleyi buldum:

Bununla birlikte, Lua desen eşleştirme güçlü bir araçtır ve standart POSIX uygulamaları ile eşleştirmek için zor olan bazı özellikleri içerir.

Lua desen eşleştirme "" göre düzenli ifade ya da cümleyi yanlış mı anladım? daha iyi olduğu, herhangi bir ortak örnekleri varsa bilmek isterim posıx düzenli ifadeler aşina olduğum ve eğer varsa ortak örnekler: neden desen eşleştirme vs düzenli ifadeler daha uygundur?

CEVAP
23 NİSAN 2010, Cuma


Herhangi bir ortak örnekler nerede lua desen eşleştirme "daha iyi" regular expression göre mücadele edilir?

Bu Lua desenler POSIX düzenli ifadeler daha sinyal-gürültü daha yüksek bir oran gibi çok özel örnekler değil. Genellikle tercih edilen, belirli örnekler değil, genel tasarımı.

Burada iyi tasarımına katkıda bulunan bazı faktörler vardır:

  • Eşleşen ortak karakter türleri mektuplar (%u), ondalık basamak (%d), boşluk karakterleri (%s) büyük harf vb için çok basit bir sözdizimi. Herhangi bir karakter türüne karşılık gelen harf kullanarak tamamlanabilir, desen %S nonspace herhangi bir karakter ile eşleşir.

  • Alıntı son derece basit ve düzenli. Bu alıntı karakter [4], Bu yüzden her zaman farklı dizge-alıntı karakter \, hangi yapar Lua desenler çok daha kolay okumak için daha POSIX düzenli ifadeler (alıntı gerekli). Her zaman güvenli semboller alıntı ve sadece özel meta ne ezberlemek yerine başparmak bu kural gelebilir, bu yüzden asla mektup alıntı için gereklidir.

  • Lua sunar "yakalar" ve birden yakalar dönebilirsiniz match bir arama sonucu olarak. Bu arabirim çok daha iyi yan etkileri ile dizeleri yakalamak veya görüntüleri bulmak için sorguya çekilmek için sahip olduğu bazı gizli devlet sahip olması. Sözdizimi basit yakalama: sadece parantez kullanın.

  • Lua "en kısa" - değiştirici "en uzun" 8 ** operatör. maç ile birlikte gitmek için bir maç vardır Örneğin s:find '%s(%S-)%.' boşluk koyarak ve bir nokta tarafından izlenen nonspace karakterler en kısa sırası bulur.

  • Lua desenlerin etkileyici gücünü POSIX karşılaştırılabilir "temel", değişim operatör olmadan | düzenli ifadeler. PES ne "" |. düzenli ifadeler uzar Eğer o kadar etkileyici güç gerekiyorsa aslında oldukça makul bir maliyetle bağlam-ücretsiz gramerleri gücü verir LPEG tüm yol gitmek, tavsiye ederim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • rekjavicxxx

    rekjavicxxx

    28 EKİM 2007
  • TimMinchinLive

    TimMinchinLi

    23 ŞUBAT 2009