Sintaks Regex Salah: Operator Gantian dalam Kurungan Square
Semasa membina regex JavaScript untuk memadankan pertanyaan carian dalam rentetan, adalah penting untuk membayar perhatian kepada sintaks regex. Satu isu biasa ialah penggunaan operator gantian (|) yang salah.
Isu:
Reeks yang disediakan,
.*baidu.com.*[/?].*[wd|word|qw]{1}=
bertujuan untuk rentetan padan yang mengandungi 'perkataan' atau 'qw' sebagai tambahan kepada 'wd'. Walau bagaimanapun, cubaan untuk menggunakan operator ganti dalam kurungan segi empat sama, seperti dalam [wd|word|qw], membawa kepada padanan yang salah.
Penyelesaian:
Untuk membetulkan ini isu, kurungan segi empat sama hendaklah digantikan dengan kurungan. Tanda kurung dalam regex menandakan kumpulan logik, membenarkan silih berganti dalam kumpulan. Regex yang betul hendaklah:
.*baidu.com.*[/?].*(wd|word|qw){1}=
Sebagai alternatif, sintaks kumpulan tidak menangkap, yang dilambangkan dengan (?:wd|word|qw), juga boleh digunakan. Ini memastikan kumpulan ganti tidak ditangkap sebagai perlawanan berasingan.
Atas ialah kandungan terperinci Bagaimana Menggunakan Operator Gantian dengan Betul dalam Kurungan Square dalam Regex JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!