Bagaimanakah '[^][]' Ungkapan Biasa Berfungsi dalam PCRE?

Barbara Streisand
Lepaskan: 2024-11-09 03:44:02
asal
822 orang telah melayarinya

How does the

Memahami Ungkapan Biasa "[^][]":

Ungkapan biasa "[^][]" dalam corak yang disediakan "[(?:[^][]|(?R))*]" sepadan dengan semua aksara yang bukan kurungan segi empat sama ([ atau ]).

Penjelasan:

Pertimbangan Unik:

Tidak seperti enjin regex lain, PCRE (digunakan dalam fungsi "preg_" PHP ) tidak memerlukan melarikan diri [ atau ] dalam kelas aksara. Ini kerana PCRE membezakannya daripada kelas aksara lain.

Selain itu, corak regex "[^]]" tidak samar-samar kerana ] ialah aksara pertama. Ini bermakna ia sepadan dengan aksara diikuti oleh ]. Untuk memadankan a diikuti dengan ], tulis 1.

Mengoptimumkan Corak:

Untuk menjadikan corak lebih boleh diguna semula dan cekap, ia boleh dioptimumkan seperti berikut:

  • ([(?:[^][] |(?-1))* ]): Corak ini menangkap kurungan segi empat sama dengan kurungan bersarang.
  • ([[^][](?:(?-1)[^][])* ]): Corak ini lebih cekap dengan menghapuskan selang seli.

Variasi merentas Bahasa Pengaturcaraan:

Pengubah suai "xx" sebaris, yang diperkenalkan dalam PHP 7.3, membenarkan ruang kosong diabaikan dalam kelas aksara. Walau bagaimanapun, sintaks ini tidak disokong oleh semua perisa regex, seperti Ruby dan JavaScript. Dalam JavaScript, khususnya, "[]" ialah token yang sentiasa gagal dipadankan dan "[^]" sepadan dengan mana-mana aksara.


  1. a]

Atas ialah kandungan terperinci Bagaimanakah '[^][]' Ungkapan Biasa Berfungsi dalam PCRE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan