Memahami Maksud "[^][]" dalam Ungkapan Biasa
Dalam regex, ungkapan "[^][]" mewakili kelas aksara yang merangkumi semua aksara kecuali "[" dan "]".
Penjelasan Terperinci:
Senario Penggunaan:
Anda akan sering menghadapi ungkapan ini apabila bekerja dengan kurungan segi empat sama bersarang. Sebagai contoh, pertimbangkan regex berikut:
\[(?:[^][]|(?R))*\]
Corak ini sepadan dengan kurungan segi empat sama (dan kandungannya) bersama-sama dengan mana-mana tanda kurung segi empat bersarang yang berpotensi di dalamnya. Bahagian "[^][]" memastikan bahawa aksara selain daripada "[" dan "]" dipadankan dalam kurungan segi empat sama.
Mengelakkan Watak Melarikan Diri:
Dengan PCRE, enjin regex yang digunakan dalam fungsi "preg_" PHP, melepaskan "[" dan "]" dalam kelas aksara tidak begitu diperlukan. Sebabnya ialah konteks menjelaskan bahawa watak-watak ini adalah sebahagian daripada kelas watak, dan bukannya dianggap sebagai watak istimewa. Walau bagaimanapun, penggunaan aksara melarikan diri kekal sebagai amalan konvensional dalam PHP.
Pengubah Suai Sebaris xx:
Diperkenalkan dalam PHP 7.3, pengubah suai "xx" sebaris membenarkan ruang kosong diabaikan dalam kelas watak. Ini bermakna anda boleh memudahkan penulisan kelas aksara, seperti dalam contoh berikut:
(?xx) [^ ][ ] [ ] ] [ [ ] [^ [ ]
Keserasian Perisa Regex:
"[^][] " sintaks disokong oleh pelbagai perisa regex, termasuk PCRE, Perl, Python dan Java. Walau bagaimanapun, ia mungkin tidak serasi dengan perisa tertentu seperti Ruby dan JavaScript.
Nota Tambahan:
Atas ialah kandungan terperinci Apakah maksud ungkapan biasa '[^][]' dan bagaimana ia berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!