KomputerTeknologi maklumat

PHP: ekspresi tetap, perlawanan preg semua

PHP, seperti bahasa pengaturcaraan moden, menawarkan pemaju satu set fungsi untuk menggunakan ungkapan biasa. Anda boleh mencari kejadian rentetan dalam baris lain dengan kriteria yang kompleks.

HTML, CSS, XML dan fail formal lain adalah tugas klasik untuk memohon fungsi yang sepadan dengan semua. Tidak kurang berkesan adalah mencari alamat, nama keluarga, nombor telefon, e-mel dan maklumat lain dalam teks yang tidak terbentuk.

Format Fungsi

PHP menawarkan dua fungsi carian: preg match dan preg match all. Yang pertama mencari kejadian pertama pola di baris, yang kedua - semua kejadian. Kadang-kadang istilah "padanan dengan corak" digunakan. Dalam kes pertama, hasil fungsi adalah "rentetan adalah sama dengan corak", dalam kes kedua, "garisan sepadan corak". Secara rasmi, istilah "kebetulan" lebih akurat mencerminkan intipati, tetapi konteks semulajadi operasi biasanya "mencari" untuk maklumat. Dalam amalan, satu dan yang lainnya adalah permintaan. Berikut adalah format fungsi.

Hasil dari fungsi itu adalah bilangan, jumlah pertandingan. Kesemua perlawanan yang ditemui ditulis untuk perlawanan - perlawanan. Dalam kes fungsi preg sepadan semua, anda boleh menentukan susunan di mana array disusun :

  • PREG_PATTERN_ORDER;
  • PREG_SET_ORDER.

Menyusun kumpulan opsyen pertama hasil carian dengan bilangan ungkapan biasa (nilai lalai). Dalam kes kedua, keputusan dikumpulkan mengikut lokasi mereka di garisan.

Simbol adalah elemen templat

Adalah penting untuk diingat bahawa template beroperasi pada simbol. Pengaturcaraan telah lama dilupakan bahawa jenis data sedemikian adalah "simbol". Bahasa-bahasa moden tidak berada di bawah konsep "rentetan", tetapi berkenaan dengan template seseorang mesti faham: di sini simbol dimanipulasi.

Pembentukan templat adalah, pertama sekali, petunjuk simbol urutan yang dikehendaki. Jika ini difahami dengan jelas, maka tidak ada kesilapan dalam templat tersebut. Walau bagaimanapun, ia akan menjadi lebih kurang.

  • A adalah elemen khusus templat - simbol.
  • Az adalah elemen templat, juga satu aksara, tetapi hanya dengan nilai dari a hingga z - keseluruhan abjad Latin dalam huruf kecil.
  • 0-9 adalah satu digit, dan mana-mana, tetapi 1-3 hanya 1, 2 atau 3.

Daftar di templat adalah penting. Watak pertama dan terakhir templat adalah sangat penting. Anda boleh menentukan cara templat bermula dan bagaimana ia berakhir.

Templat Fungsi

Perlawanan preg PHP semuanya menggunakan sintaks standard ungkapan biasa. Kurungan persegi menandakan salah satu aksara yang menunjukkan:

  • [Abc] hanya aksara a, b, c.
  • [^ ABC] semua kecuali aksara A, B, C.
  • \ W dan \ W adalah aksara teks atau bukan teks.
  • \ S dan \ S adalah ruang spasi atau ruang kosong.
  • \ D dan \ D adalah angka atau bukan angka.

Simbol pengulangan dilambangkan oleh kurungan kurungan - {n, m} dan merujuk kepada aksara sebelumnya.

  • N bermaksud berulang "tidak kurang daripada";
  • M - pengulangan "tidak lebih".

Sintaks ini menyediakan banyak pilihan untuk membuat templat, tetapi lebih baik untuk bermula dengan asas-asas, iaitu, dari yang mudah, ditulis sendiri, di mana unsur-unsur dan kombinasi kompleks hilang.

Ringkasnya, menyenaraikan watak-watak sebenar yang diperlukan dengan menyatakan kuantiti yang dikehendaki dan mengambil kira bahawa simbol "^" sepadan dengan permulaan, dan "$" adalah akhir baris, anda boleh membuat template mudah. Menganalisa ekspresi reguler yang diselaraskan nyata dari pakar yang berkelayakan, anda dapat memperoleh pengetahuan yang solid untuk membuat aplikasi yang rumit dari pertandingan preg semua. Arsenal PHP tidak terhad kepada hanya dua fungsi ini, tetapi mereka paling sering digunakan.

Amalan mudah

Templat untuk nombor keseluruhan:

  • "/ [0-9] * /"

Juga corak integer, tetapi mungkin ada tanda ("+", "-") di depan, dan mungkin ada ruang tambahan di depan / belakang:

  • / ^ [\ S | \ + | \ -] {0,1} [0-9] * /

Begitu juga,

  • /^[\s|\\|\]]0,1}[0-9]*(\.)[0-9]*/ - nombor dengan satu tempoh.
  • /[0-9a-z_-]+@[0-9a-z_^\.]+\.[az]{2,3}/ - pilihan untuk mengenali e-mel.

Menggunakan templat anda sendiri untuk perlawanan semua, contohnya di Internet, analisis kod halaman tapak dan sumber lain membolehkan anda membuat perpustakaan template anda sendiri.

Terdapat banyak pilihan untuk mencari maklumat. Khususnya, kedua-dua pembinaan di atas boleh dimodelkan secara berbeza. Dalam banyak kes, keutamaan akan diberikan kepada templat yang akan memberikan perlawanan yang diingini lebih cepat dan lebih tepat. Penggunaan PHP preg sepadan semua, serta fungsi yang serupa dalam bahasa-bahasa lain, memerlukan amalan, perhatian dan pengesahan awal mengenai kebenaran templat.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ms.delachieve.com. Theme powered by WordPress.