Memahami Isu dengan Alternation Inside Square Brackets
Semasa mencipta ungkapan biasa (regex) untuk rentetan enjin carian, anda menghadapi cabaran dengan berselang-seli dalam kurungan segi empat sama. Regex anda bertujuan untuk memadankan rentetan dengan 'wd' sebagai tambahan kepada 'word' atau 'qw'. Walaupun bereksperimen dengan pendekatan yang berbeza, anda tidak dapat mencapai hasil yang diingini.
Hanya melampirkan berbilang aksara dalam kurungan segi empat sama tidak melakukan pertukaran dalam JavaScript; ia sebaliknya menandakan set aksara. Bergantian, yang memadankan berbilang alternatif dalam susunan tertentu, dicapai menggunakan kurungan. Oleh itu, sintaks yang betul hendaklah:
.*baidu.com.*[/?].*(wd|word|qw){1}=
atau
.*baidu.com.*[/?].*(?:wd|word|qw){1}=
Dengan menyertakan alternatif ('wd', 'word' dan 'qw') dalam kurungan, anda mendayakan silih berganti. '?:' sebelum kurungan dalam regex kedua menjadikan kumpulan itu tidak menangkap, yang menghalangnya daripada diberikan ID kumpulan menangkap semasa pemadanan.
Atas ialah kandungan terperinci Bagaimana Menggunakan Kurungan Selang-seli Di Dalam Petak dalam Ungkapan Biasa (Regex)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!