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

  • BumbleDroid

    BumbleDroid

    18 EKİM 2010
  • Liz Morgan

    Liz Morgan

    4 Aralık 2011
  • UnboxTechnology

    UnboxTechnol

    20 Ocak 2011