Operator Gantian Dalam Kurungan Persegi Tidak Berfungsi
Dalam bidang pembangunan regex JavaScript, pembangun menghadapi halangan apabila cuba memadankan pertanyaan tertentu rentetan dalam rentetan enjin carian menggunakan selang seli. Corak ungkapan biasa yang mereka hasilkan:
.*baidu.com.*[/?].*wd{1}=
kurang padanan rentetan dengan 'perkataan' atau 'qw' sebagai tambahan kepada 'wd.' Percubaan awal mereka untuk menangani isu ini dengan memperkenalkan selang-seli dalam kurungan segi empat sama terbukti tidak berjaya:
.*baidu.com.*[/?].*[wd|word|qw]{1}=
Memahami Perbezaan
Untuk menyelesaikan isu itu, adalah penting untuk memahami perbezaan antara kurungan ([]) dan kurungan () dalam ungkapan biasa. Tanda kurung segi empat sama menunjukkan set aksara, di mana setiap aksara di dalam kurungan dianggap padanan. Tanda kurung, sebaliknya, mewakili kumpulan logik, membolehkan corak padanan yang lebih kompleks.
Penyelesaian Menggunakan Tanda Kurung
Satu penyelesaian kepada kesusahan ini ialah menggantikan bahagian yang bermasalah dalam regex dengan kurungan:
.*baidu.com.*[/?].*(wd|word|qw){1}=
Dengan melampirkan 'wd', 'word' dan 'qw' dalam kurungan, kami mencipta kumpulan logik, membenarkan pertukaran antara ketiga-tiga pilihan ini.
Dengan melaksanakan salah satu daripada penyelesaian ini, pembangun boleh berjaya memadankan pertanyaan yang mengandungi 'perkataan' atau 'qw' sebagai tambahan kepada 'wd', mempertingkatkan kefungsian rentetan enjin carian mereka padanan regex.Atas ialah kandungan terperinci Mengapa Operator Gantian Tidak Berfungsi Di Dalam Kurungan Square dalam Regex JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!