Ekspresi biasa ialah corak yang mengandungi pelbagai aksara. Kita boleh menggunakan ungkapan biasa untuk mencari jika rentetan mengandungi corak tertentu.
Di sini, kita akan belajar mencipta ungkapan biasa untuk mengesahkan pelbagai formula matematik. Kami akan menggunakan kaedah test() atau match() untuk menyemak sama ada formula matematik tertentu sepadan dengan ungkapan biasa
Pengguna boleh mengikut sintaks berikut untuk mencipta ungkapan biasa yang menerima formula matematik khas.
let regex = /^\d+([-+]\d+)*$/g;
Ungkapan biasa di atas hanya menerima 10 – 13 + 12 + 23, sama seperti formula matematik.
/ / – Ia mewakili permulaan dan penghujung ungkapan biasa.
^ – Ia mewakili permulaan rentetan formula.
d+ – Ia mewakili sekurang-kurangnya satu atau lebih digit pada permulaan formula.
[-+] – Mewakili pengendali “+” dan “-” dalam ungkapan biasa.
([-+]d+)* – bermakna formula boleh mengandungi nombor, diikuti oleh berbilang pengendali "+" atau "-".
$ – Ia mewakili penghujung rentetan.
g – Ia sepadan dengan semua kejadian pengecam.
Dalam contoh di bawah, kami telah mencipta ungkapan biasa yang menerima formula yang mengandungi pengendali "+" atau "-" angka.
Pengguna boleh melihat bahawa formula pertama sepadan dengan corak ungkapan biasa dalam output. Formula kedua tidak sepadan dengan corak ungkapan biasa kerana ia mengandungi pengendali "*". Juga, formula ketiga adalah sama seperti yang pertama, tetapi ia mengandungi ruang antara pengendali dan nombor, jadi ia tidak sepadan dengan ungkapan biasa.
<html> <body> <h3>Creating the regular expression to validate special mathematical formula in JavaScript</h3> <div id = "output"></div> <script> let output = document.getElementById('output'); function matchFormula(formula) { let regex = /^\d+([-+]\d+)*$/g; let isMatch = regex.test(formula); if (isMatch) { output.innerHTML += "The " + formula + " is matching with " + regex + "<br>"; } else { output.innerHTML += "The " + formula + " is not matching with " + regex + "<br>"; } } let formula = "10+20-30-50"; matchFormula(formula); matchFormula("60*70*80"); matchFormula("10 + 20 - 30 - 50") </script> </body> </html>
Kami menggunakan ungkapan biasa /^d+(s*[-+*/]s*d+)*$/g dalam contoh di bawah. Pengguna boleh mencari di bawah penjelasan tentang ungkapan biasa yang digunakan.
^d+ – Ia mewakili sekurang-kurangnya satu digit pada permulaan formula.
s* – Ia mewakili sifar atau lebih ruang.
(s*[-+*/]s*d+)* – bermakna formula boleh mengandungi ruang, operator, ruang dan nombor berbilang kali dalam susunan yang sama.
Dalam contoh di bawah, kami memanggil fungsi TestMultiplyFormula() tiga kali dengan menghantar pelbagai formula sebagai parameter. Kami menggunakan kaedah test() untuk menyemak sama ada formula sepadan dengan corak ungkapan biasa.
Dalam output, kita dapat melihat bahawa ungkapan biasa menerima formula dengan pengendali "*" dan "/" serta ruang.
<html> <body> <h2>Creating the regular expression <i> to validate special mathematical formula </i> in JavaScript.</h2> <div id = "output"> </div> <script> let output = document.getElementById('output'); function TestMultiplyFormula(formula) { let regex = /^\d+(\s*[-+*/]\s*\d+)*$/g; let isMatch = regex.test(formula); if (isMatch) { output.innerHTML += "The " + formula + " is matching with " + regex + "<br>"; } else { output.innerHTML += "The " + formula + " is not matching with " + regex + "<br>"; } } let formula = "12312323+454+ 565 - 09 * 23"; TestMultiplyFormula(formula); TestMultiplyFormula("41*14* 90 *80* 70 + 90"); TestMultiplyFormula("41*14& 90 ^80* 70 + 90"); </script> </body> </html>
Tutorial ini mengajar kami untuk mencipta ungkapan biasa yang menerima formula matematik khas. Dalam kedua-dua contoh, kami menggunakan kaedah test() untuk memadankan formula dengan ungkapan biasa. Selain itu, kami menggunakan corak ungkapan biasa yang berbeza dalam dua contoh.
Atas ialah kandungan terperinci Bagaimana untuk mencipta ungkapan biasa yang hanya menerima formula khas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!