Berkongsi kemahiran aplikasi lanjutan dan kes praktikal ungkapan biasa JavaScript
Pengenalan:
Ekspresi biasa ialah alat pemprosesan teks yang berkuasa yang digunakan secara meluas dalam pelbagai bahasa pengaturcaraan. Dalam JavaScript, ungkapan biasa juga memainkan peranan penting dan digunakan secara meluas dalam pembangunan harian. Artikel ini akan memperkenalkan secara terperinci kemahiran aplikasi lanjutan ungkapan biasa JavaScript dan berkongsi beberapa kes praktikal untuk membantu pembaca menguasai teknologi ini dengan lebih baik dan mengaplikasikannya dalam pembangunan sebenar.
1. Semakan konsep asas:
Sebelum mempelajari ungkapan biasa JavaScript secara mendalam, kita harus menyemak konsep asas ungkapan biasa. Ungkapan biasa ialah corak yang digunakan untuk memadankan, mencari dan menggantikan rentetan. Ia terdiri daripada pelbagai aksara dan aksara meta yang boleh digunakan untuk menerangkan corak teks. Dalam JavaScript, kita boleh menggunakan objek RegExp untuk mencipta dan memanipulasi ungkapan biasa.
2. Kemahiran aplikasi lanjutan:
Contoh:
// 忽略大小写匹配 let regex = /hello/i; console.log(regex.test("Hello")); // true // 全局匹配 let regex2 = /hello/g; console.log("hello world".replace(regex2, "hi")); // hi world // 多行匹配 let regex3 = /^hello/m; console.log(regex3.test("hello world")); // true // 匹配换行符 let regex4 = /hello.world/s; console.log(regex4.test("hello world")); // true
Contoh:
// 匹配数字 let regex = /[0-9]/; console.log(regex.test("123")); // true // 匹配括号内的内容 let regex2 = /((.*?))/; let match = "Hello (world)".match(regex2); console.log(match[1]); // world // 匹配单词边界 let regex3 = /hello/; console.log(regex3.test("say hello")); // true
Contoh:
// 捕获分组 let regex = /(d+)s+s(d+)s=/; let match = "1 + 2 =".match(regex); console.log(match[1]); // 1 console.log(match[2]); // 2 // 非捕获分组 let regex2 = /(?:d+)s+s(?:d+)s=/; let match2 = "1 + 2 =".match(regex2); console.log(match2); // null
Contoh:
// 前查找 let regex = /hello(?= world)/; console.log(regex.test("hello")); // false console.log(regex.test("hello world")); // true // 后查找 let regex2 = /(?<=hello) world/; console.log(regex2.test("world")); // false console.log(regex2.test("hello world")); // true
3. Perkongsian kes praktikal:
Contoh:
function validateEmail(email) { let regex = /w+@w+.w+/; return regex.test(email); } console.log(validateEmail("example@mail.com")); // true console.log(validateEmail("invalid.email")); // false
Contoh:
function extractUrls(text) { let regex = /https?://[^s]+/g; return text.match(regex); } let text = "Visit my website at https://example.com or https://google.com"; console.log(extractUrls(text)); // ["https://example.com", "https://google.com"]
Contoh:
function filterSensitiveWords(text, wordList) { let regex = new RegExp(wordList.join('|'), 'gi'); return text.replace(regex, '***'); } let text = "This is a sensitive word: bad"; let wordList = ["bad"]; console.log(filterSensitiveWords(text, wordList)); // "This is a sensitive word: ***"
Ringkasan:
Artikel ini memperkenalkan kemahiran aplikasi lanjutan ungkapan biasa JavaScript dan berkongsi beberapa kes praktikal. Dengan mempelajari teknik dan contoh ini, pembaca boleh menggunakan ungkapan biasa dengan lebih baik untuk memproses kandungan teks dan menggunakan fungsi yang berkuasa dalam pembangunan sebenar. Walau bagaimanapun, ungkapan biasa masih merupakan teknologi yang kompleks, dan pembaca harus memberi perhatian kepada ketepatan sintaksis dan pertimbangan prestasi apabila menggunakannya.
Atas ialah kandungan terperinci Kongsi kes praktikal dan teknik lanjutan: Aplikasi lanjutan ungkapan biasa JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!