Bagaimana untuk mencipta ungkapan biasa yang hanya menerima formula khas?

WBOY
Lepaskan: 2023-09-16 19:33:03
ke hadapan
1199 orang telah melayarinya

Bagaimana untuk mencipta ungkapan biasa yang hanya menerima formula khas?

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

Tatabahasa

Pengguna boleh mengikut sintaks berikut untuk mencipta ungkapan biasa yang menerima formula matematik khas.

let regex = /^\d+([-+]\d+)*$/g; 
Salin selepas log masuk

Ungkapan biasa di atas hanya menerima 10 – 13 + 12 + 23, sama seperti formula matematik.

Ekspresi biasa dijelaskan

  • / / 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.

Contoh

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> 
Salin selepas log masuk

Ungkapan biasa yang digunakan dalam contoh di bawah

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.

Contoh

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>
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!