正則表達式是包含各種字符的模式。我們可以使用正則表達式來搜索字符串是否包含特定模式。
在這里,我們將學習創(chuàng)建正則表達式來驗證各種數學公式。我們將使用 test() 或 match() 方法來檢查特定數學公式是否與正則表達式匹配
語法
用戶可以按照以下語法創(chuàng)建接受特殊數學公式的正則表達式。
let regex = /^\d+([-+]\d+)*$/g;
登錄后復制
上面的正則表達式只接受 10 – 13 + 12 + 23,就像數學公式一樣。
正則表達式解釋
/ /?–?它代表正則表達式的開始和結束。
^?–?它代表公式字符串的開頭。
\d+?–?它代表公式開頭的至少一位或多位數字。
[-+] – 表示正則表達式中的“+”和“-”運算符。
([-+]\d+)*?–?表示公式中可以包含數字,后跟多次“+”或“-”運算符。
$?–?它代表字符串的結尾。
g – 它是匹配所有出現的標識符。
示例
在下面的示例中,我們創(chuàng)建了正則表達式,它接受包含數字“+”或“-”運算符的公式。
用戶可以觀察到第一個公式與輸出中的正則表達式模式匹配。第二個公式與正則表達式模式不匹配,因為它包含“*”運算符。另外,第三個公式與第一個公式相同,但它在運算符和數字之間包含空格,因此與正則表達式不匹配。
<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>
登錄后復制
下面示例中使用的正則表達式
我們在下面的示例中使用了 /^\d+(\s*[-+*/]\s*\d+)*$/g 正則表達式。用戶可以在下面找到所使用的正則表達式的解釋。
^\d+?–?它代表公式開頭至少一位數字。
\s*?–?它代表零個或多個空格。
(\s*[-+*/]\s*\d+)*?–?表示公式中可以按相同順序多次包含空格、運算符、空格和數字。
示例
在下面的示例中,我們通過傳遞各種公式作為參數來調用 TestMultiplyFormula() 函數三次。我們使用 test() 方法來檢查公式是否與正則表達式模式匹配。
在輸出中,我們可以看到正則表達式接受帶有“*”和“/”運算符以及空格的公式。
<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>
登錄后復制
本教程教我們創(chuàng)建一個接受特殊數學公式的正則表達式。在這兩個示例中,我們都使用了 test() 方法來將公式與正則表達式進行匹配。此外,我們在兩個示例中使用了不同的正則表達式模式。
以上就是如何創(chuàng)建只接受特殊公式的正則表達式?的詳細內容,更多請關注www.92cms.cn其它相關文章!