Javascript RegExp Word Boundaries Unicode Characters
Soalan:
Apabila menggunakan RegExp JavaScript untuk rentetan padanan dalam teks Finland dengan aksara khas seperti ä, ö dan å, perkataan sempadan b gagal untuk memadankan perkataan yang bermula dengan aksara ini. Bagaimanakah isu ini boleh diselesaikan untuk membenarkan pemadanan aksara Unikod yang betul?
Jawapan:
Karakter sempadan perkataan b mungkin menghadapi had dalam memadankan aksara Unikod pada permulaan seutas tali. Untuk menangani perkara ini:
Replace \b with (?:^|\s)
Pecahan:
Contoh:
Kod berikut menunjukkan padanan perkataan Finland dengan aksara Unikod menggunakan kumpulan bukan menangkap dan bukannya b:
<code class="js">var title = "this is simple string with finnish word tämä on ääkköstesti älkää ihmetelkö"; var searchterm = "äl"; if (new RegExp("(?:^|\s)" + searchterm, "gi").test(title)) { console.log("Match:", searchterm, title); } else { console.log("Nothing found:", searchterm); }</code>
Pendekatan ini berjaya memadankan istilah carian "äl" dalam rentetan Unicode "ääkköstesti" kerana ia menganggap sama ada permulaan rentetan atau ruang putih sebagai sempadan perkataan.
Atas ialah kandungan terperinci Bagaimana Memadankan Sempadan Perkataan dengan Aksara Unikod dalam Teks Finland Menggunakan RegExp JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!