BilgisayarlarProgramlama

Düzenli ifade (PHP). PHP: düzenli ifadeler örnekler

Ne kadar büyük ve bilginin farklı dünya aynı hızla, o genişler ve gelişir. Herhangi bir karar - hareketin genel işlemde sadece bir noktaya. Bilgi ve deneyim mümkün hedefe ulaşma süreci anlamak için yapmak, ama asla - onun başarılarından değil sonucudur. Biz sonuca öngörülebilir gelecekte konuşabilir şüphelidir, ancak bunun için çaba süreci önemli ve objektif gerekli süreç olması önemlidir.

"Arzu ve / veya para" diye ne yaptığını düşünmez, özellikle o yetenekli bir algoritma oluşturmak ve tabii ki "özgür" insan yapar etmez. hepsi beyaz çiçekler olduğunu mutlaka her durumda bilgi problemi en az bir kör nokta vardır, ama onun için, genellikle hemen, diğerleri temiz lekeler görülebilir ve değil.

İnternet teknolojisi bilgiye erişimi basitleştirilmiş, ancak soru - İstenen sahip koymak nasıl - basitleştirilmiş değil ve işin yeni "ses" satın aldı. Ve her ne kadar PHP düzenli ifade boşluk açıkça tükenmiş değildir, bunlar atılmış önemli bir adımdır.

Basit fonksiyonlar + algoritma = desen

Normal ifadeler sunan PHP algoritması önemli ölçüde içeriğini azaltır, fakat her zamanki arama fonksiyonları / değiştirme ve işleme algoritmaları önemini kaybetmemiştir bulundu. Yeni fikirler bilgi devrimini delalet yoktur. beklenebileceğini en - kompakt kodu ve geliştiriciye doğru bir arama sorgusu formüle etmek yeteneğini artırır.

Bilirsiniz ve PHP düzenli ifadeleri başvurmalıdır. Örnekler ikna edici ve etkili. Aslında basit bir arama fonksiyonları, koşullar, döngüler ve diğer operatörler bir dizi ile değiştirilir rağmen, mekanizmanın bir tür - Ama yeni bir arama motoru gelişine, ağırlık merkezi desenine kaymıştır O raporu vermelidir.

vardır:

  • Kaliteli ve modern alet - bu iyidir;
  • görmek ve meslektaşlarının deneyim kullanmak meselesidir;
  • başarının garantisi - gerçeklik ve sanal fikir birleştirerek.

bunu çözmek için, sorunu anlamak için gerekli olduğunu nasıl bilgi sağlanması, belirli sonucu çoğu zaman daha önemlidir.

PHP'de Düzenli İfadeler dil sözdiziminde fonksiyonları bir dizi ve internette kullanışlı bir çok örnek ile temsil edilmektedir. Çünkü sözdizimi özel uygulama seçenekleri yalnızca geliştiricinin hayal gücü ile sınırlı, ama hepsi değil şablonların çalışacak unutmayın sleuet. Düzenli ifadelerin PHP doğrulama kullanılması esastır.

Basit arama karakteri (dize)

Sembol - Bu her zaman tek bayt değildir ve bir çip olarak, çoğu zaman bir semboldür, ek olarak kesin bir anlamı vardır. Kodlama belirten farklı kodda görünür karakterler. sembol birkaç seçeneğiniz olabilir: "$" = "USD" = "USD", ... - bir yerde bir şeyin tam anlamı olmakla nedeniyle para birimine mutlaka yakın değil. Ancak, tam anlamı daima karakteri "TL" ile başlayan değişken PHP, yalan olabilir, ama "USD" ve "USD" ile başlayamaz.

Programın simgesi bağlamında bir işlev adı (string) olabilir: tanıyıp yerine getirmek - yapısı, fonksiyonları, PHP düzenli ifadeler kararlar vermek için doğrudan kullanıldığında dinamik nesne yönelimli programlama, geliyor. Bulunan sembolü "dönüşler", kendisi buldu edildiği yerde ne yapacağını belirler ve bu şekilde, gerekli "diye gördüğü" tarafından olmasıdır.

Daha iyi daha net değil böyle basit bir egzersiz ve daha fazla bilgi - Bir karakter / çizgi arayın. Gıda fiyatlarındaki en iyi on bulmak lezzetli tarifleri doğum günü pastası seçin veya asma tavana için yüklenici belirlemek için her zaman gerekli değildir.

yüz siteleri - Genellikle basit algoritmalar basit aritmetik bilgileri olmayan veya zor istenen karakteri bir veritabanından seçim için koşullar, ve hat hangi bulmak gereklidir optimize etmek gereklidir. sitelerin arama süresi azılı yüzlerce - fiyat zaman bir karakteri örnek veritabanı ve bakmak nereye fiyatını seçmek eşittir.

Lone sembol - bir ifade değildir ve bir kaç cümle, o yerde olmak ve istenen olduğunca küçük olabilir. Nasıl isteniyorsa bulunmuştur belirlemek için?

Örnek: fiyatlar için arama

Sadece metin "$" sembolünü bulmak - biraz. Bir dizi karşı karşıya olduğu, her zaman yeterli değildir edin. Eğer sembolü "$" önce bir noktayı veya numarası girerseniz parasal semboller önde olduğunu hangi fiyatlar dikkate alınmayacaktır bir garantisidir. Ayrıca genel olarak para belirtilmemiş fiyat, ihmal, ancak sayfada bu açık talimatlar üzerindedir edilir.

Genel olarak, her zamanki gibi problemin çözümü tanıma algoritması ve zaman alıcı ötesinde şişirmek. Bu arada, normal bir ifade kullanarak, PHP sayısı hiç problem bulacaksınız.

$ CContents = preg_match_all ( "/ [0-9] + ([\ $] | ABD | y \ £ \ | vi) {1} / ı.";

"E-postayı Look - 2usd;
";
"E-postayı bulun - 2u.e;
.";
"Work e-posta - UE2;
";
;), $ Neticesi - "$ 13 e-postaları kontrol edin"
. '; '. çöker ( '', $ neticesi [0]). '
'.

"; 2usd, 2u.e. 2" Ama doğrultusunda şey bulamadık: "check e-posta - $ 13." Cevap verir

önünde veya karakter arkasında örneğinin varlığına ilişkin sağlanması, çoğu durumda hızla başarı elde edebilirsiniz.

$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | ABD | y \ £ \ |. Ue), {1}) | (([$] | ABD | y \ £ \. | ue) {1} [0-9] +) / i ";
"E-postayı Look - 2usd;
";
"E-postayı bulun - 2u.e;
.";
"Work e-posta - UE2;
";
;), $ Neticesi - "$ 13 e-postaları kontrol edin"
. '; '. çöker ( '', $ neticesi [0]). '
'.

Sonuç: "4; 2usd, 2u.e., UE2, $ 13"

İstenmeyen mantık Hakkında

Düzenli İfadeler PHP teklifi, hem de diğer araçları, ancak gerekli değildir onun kurallarına göre bunları uygulamak veya küçük sözdizimi yol sağladı diğer işlevleri kullanmak.

Olası önceki kriterlere göre bileşenlerine ayrıştırılıp diziye çevirmek için gerekli olan arama ve biz arama yerin, başlangıcından önce. Sadece birkaç sıklıkla basitleştiren ve karar hızlandırır) (patlayabilir () ve implode.

Örneğin, ön çalışma sonucunda her köyü toplanan kaç patates ilçesinde dizeleri (veri) bir dizi kurdu: Toplanan Bilinmeyen ImyaDerevnya ve hacim ve ülke dize dizisi olmak üzere birçok şirket çalıştırırsa "aracılığıyla ImyaDerevnya.ImyaPredpriyatie ve değerdir; " ve bu nedenle tüm işletmelere. ";" Üzerinden transfer edilecek - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - - boyutta bir koleksiyon çifti hangi bir uzun çizgi, olacaktır; ($, neticesi "") mümkün olmayacaktır bu durumda toplanan toplam tutarı hesaplayın, ancak impode yaparsan. Bir ters yapın sonuçlanan patlamaya ( ";", $ neticesi) - tüm bir dizi toplanan ve nasıl toplandığı ve sonra tüm sayısal olmayan karakterlerin gelen satırları kaldırarak, sadece rakamlar var toplamı toplanan toplam hacmi.

Bu örnekte, PHP düzenli ifade arzu edilen sayısal değerler kolay ve hesaplı özü vardır, çok fazla bakmamaya izin. Çabuk ve etkili biçimde olursa olsun köylerin ve işletmelerin adlarını olabilir ne kadar. Bu çözüm ideal değildir, ama her zaman kurallar olmalı uymayan göstermektedir. Alışılmadık bir şekilde istenen elde etmek çoğu zaman mümkün olmaktadır.

Teknik taraftan Öz Çıkarma, kodlama

algoritmanın sözdizimi o gerçekte nasıl göründüğünü söylemez. Ancak, sayfanın aynı kodlamayı sağlayan ve sorunun saplanabilirler (ki görüntüleri aranmaktadır) satırları komut teknik yönleri olduğunu.

Bir tek ne zaman, nerede, ne kadar, değiştirmek neyi nasıl, bunu yapmak için aramaya bilmiyorum, ama olmamalıdır. Resmen kendi tam bir tam özellikli bir mekanizma olarak yürütülen düzenli ifadeler PHP, ancak birçok nedenden dolayı, bir çok dilde, karşıtları gerçekleşme farklı. Belirli bir görev için özel bir alet ortamında belirli bir desen taşımadan önce Genel bir kural olarak, yüksek kaliteli adaptasyonu yürütmek kaynak verileri için tüm olası seçenekleri için kontrol etmek gereklidir.

PHP gelişen Kendi deneyimlerini kullansanız bile, düzenli ifadeler, örnekler, şablonlar ve tasarım dikkatli bir şekilde kontrol gerektirir. Dinamik dil işlevselliği sözdizimi ve çalışma zamanını değiştirerek.

şablon yapısı ve içerik

Ne önceden arama fonksiyonları, bir kombinasyonu şeklinde yazılmış Koşullamalar, düzenli ifade deseni - yedek işlemleri, ekleme, silme, belirli kurallara göre karakter dizesidir. Aslında, önemli miktarda belirli bir şekilde kodlanan ve belirli kurallara göre yürütülür.

herhangi ayıklama dil operatörü yapmak mümkün olması gibi, bir normal ifade desenini debug olamaz, bu işlemi sadece taklit edebilir. Genel bir kural versiyonunu benimsemiş gibi: eserler - çalışmıyor. sözdizimi onun algı rağmen, özellikle başlangıçta, çok zordur, çok basittir.

Basit bir ifade örneği

Basit bir düzenlemede şablon dizeyle eşleşir:

$ CContents = preg_match ( "/ asdf / i", "asdf", $ neticesi). '; '. implode ( '', $ neticesi).

İlk eşleşen bir şablon buluştu de işlevi çalışmasını tamamlar beri; "asdf 1" sonuç olacaktır. Biz çizgisinde çizgi "zzzasdfvvv" nde "aaaasdf" bakarsak sonuç aynı olacaktır. İlk ve / veya son karakterini belirtirseniz, sonuç net olacaktır:

$ CContents = preg_match ( "/ ^ asdf / i", "asdf", $ neticesi). '; '. implode ( '', $ neticesi). '
';
$ CContents. = Preg_match ( "/ asdf $ /", "asdf", $ neticesi). '; '. implode ( '', $ neticesi). '
'.

Sonuç şu olacaktır: 1; asdf1; asdf.

başlangıç ve bitiş desen nereye semboller "*" ve "$" gösterir. preg_match işlevini Sonuç - Bir hata tespit edildiğinde eşleşme sayısı, o 0, 1, veya yanlış olabilir. Üçüncü seçenek - bir dizi - sadece bulunan eleman yerleştirilmiştir. preg_match_all işlevini kullanarak durumunda () arama bitiş çizgisine devam ediyor.

$ CContents = preg_match ( "/ asdf / i", "asdf123asdf456asdf789", $ neticesi). '; '. implode ( '', $ neticesi). '
';
$ CContents. = Preg_match_all ( "/ asdf / i", "asdf123asdf456asdf789", $ neticesi). '; '. çöker ( '', $ neticesi [0]). '
'.

sonuç:

1 'dir; asdf
3; asdf, asdf, asdf.

Eğer özel talimatlar kullanmazsanız, her karakter bakılmaksızın hat kodlama ve şablon kodlama, kendisini ve yerini belirler. Programcı bu elemanların kodlama birbirlerine ve kodlama sayfasına göre doğru olduğunu sağlamalıdır.

Düzenli ifadeler ile çalışmak için PHP fonksiyonları

PHP için Normal ifadeler belirli bir şekilde kaydedilmiş bir karakter dizesini temsil eder. Genellikle diğer programlama dilleri ile kıyas yoluyla, onlar semboller "/" ... "/" ve tırnak içinde yerleştirilmiş, sen tek veya çift algoritmaya bağlı kullanabilirsiniz yazılmıştır.

ana işlevi php emprenye eşleme normal ifadeler, her iki model maçı kullanır ve birinci konumda durdurur, bir son ek _all bunun bir varyantı tüm maçları bulur ve bunların dizi üretir. Fonksiyon emprenye, arama tasarımı sağlayan diziler ile çalışmak ve çeşitli seçenekler değiştirilmesini gerçekleştirebilir her bir şablon maç değiştirir değiştirin.

Düzenli ifadeler ile çalışmak için ilginç seçenekler preg_replace_callback hiçbir yedek metni alır fonksiyonunu ve böyle bir yedek gerçekleştirecek fonksiyonu adını kullanarak geliştirilebilir. Pratik değere ek olarak mekanizmalar son gelişme ve hata ayıklama önemli bir rol oynadığını, desen kontrol uygulayabilir.

Normal ifadelerin Kapsamı

köprü dilleri büyük ölçüde bilgi resmiyete olduğundan bunlar başlangıç malzemedir. verimli büyük miktarda veri işlemek için izin şablonlar ve tasarımlar çok sayıda geliştirildi. Bu çalışmanın önemli bir bölümü çeşitli içerik yönetim sistemleri (CMS) yerleşik mekanizmalar gerçekleştirilir.

Beklendiği gibi, birçok CMS, onlar da gerekli kendi başına desen gelişimini yürütmek için yapmadığını siteler oluşturmak ve (güncellendi) yazılım şirketleri eşlik ediyor için fiili standartlar haline gelir. Ancak, bu tür sistemlerin dışında düzenli ifadeler ile deneyim çok yararlıdır var.

Düzenli ifadeler ve gerçek bilgiler

PHP kütüphanelerinde düzenli ifadeler uygulamanın önemli bir alan gelişiyle PHPOffice kurdu. belgeler, elektronik tablolar ile çalışma ve her zaman önemli olmuştur ve OOXML standart gerçek belgeleri ortadan kaldırmak için değil, aynı zamanda onların programını şekillendirmek için sadece mümkün değil.

Özellikle köprü ve PHP dillerinin gelişmesi sayesinde, örneğin, dokümanlar "standart form" nin "üretim" otomatik hale getirmek için gerçek bir fırsat var, ödeme, raporlar, iş planları ve diğer bilgileri nesneler için faturalar, yapısı ve içeriği aslında Biçimlendirme ve otomasyon yatkındır.

Düzenli ifadelerin dil OOXML'in gelişim sürecini açıklamak için uygulama ile bağlantılı olarak ilk etapta geleneksel dil HTML ile çalışma ve CSS oldukça farklıdır. işaretleme hariç ve gerçek içeriğe ek olarak asıl belge, detaylar bir yeri vardır. Örneğin, program tarafından otomatik olarak oluşturulan bir belgeyi, güçlü ve doğru içeriğe sahip olacaktır. Doküman oluşturulmuş ya da işlenmiş bir kişi, bir içeriğine sahip olacaktır, etiketlerin bir çok fazla boyandı. Belgenin yapılan tüm çalışmalar bunun semantik biri olabilir, ama farklı tasarımlar üzerinde farklı miktarlarda boyalı olabilir gerçeğine yol açar.

Doğal bilgileri ve durum

Sonuç olarak, bilgi sahnelenen ve vardır probleminin çözümüne her zaman ilgimizi bir kişi, aynı bilgi verilecektir. Bir belgenin şeklinde problemin ifadesi sunan bir kişi (Değişiklik, ifadeleri netleştirmek, silme, düzenleme) sadece bir belgenin birden çok sürümünü yol açar, aynı zamanda farklı içeriğe sahip olan sürümleri için uzmanların şartnamede olan belirli semantiğini alır.

Özellikle, ifade tarafından belirlenen görev aşağıdaki gibi görünecektir düzenleme sonrasında "kare uranenie çözün": "Bir kuadratik denklemi çözmek için" ilk başta birinci hatası giderildi ve daha sonra ikinci, sonra OOXML'in tarzda doğal bilgi gibi görünebilir edin: "[çözüldü] [] [kare] [e] [] [alkış] [b] [nenie]", ama bu değil Bu görev etiketleri OOXML'e (parantez parantez etiketleri taklit) görüneceğini olduğunu garanti.

Her görevin düzenleme süreci sonrasında kolaylıkla olabilecek bilgiler biraraya fakat bu prosedür çeşitli algoritmalarla yapılacaktır her zaman için. bilgi problemlerinin formelleşmesinin aracı bir tür Düzenli ifadeler, doğal bilgilere hipermetnin biçimsel yapılarından yürüyüş yolları, aslında, haline gelmiştir.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tr.birmiss.com. Theme powered by WordPress.