在 JavaScript 正則表示式中查詢括號之間的數字?


在本教程中,我們將學習如何使用 JavaScript 正則表示式查詢括號中的數字。數字 (0-9) 的 **ASCII** 值從 48 到 57。我們在正則表示式中將括號中的數字表示為 [0-9]。要查詢特定範圍內的數字(排除所有其他數字),我們可以編寫該特定範圍。例如,要查詢 4 到 8 之間的數字,我們可以在正則表示式模式中將其寫為 [4-8]。現在,我們的目標是使用 JavaScript 中的 RegExp 查詢文字中括號內的數字。我們可以遵循以下語法來查詢括號之間的數字。

語法

以下是 RegExp 組 [0-9] 字元的語法:

new RegExp("[0-9]") or simply /[0-9]/ 

**/[0-9]/**,在 ES1 中引入。所有瀏覽器都完全支援它,例如 Chrome、IE、Safari、Opera、FireFox 和 Edge。

RegExp 具有修飾符,例如 **g、i、m。“g”** 用於執行全域性匹配,“**i”** 用於執行不區分大小寫的匹配,“**m”** 用於執行多行匹配。

帶有修飾符的 /[0-9]/ 的語法,例如:

new RegExp("[0-9]", "g") or simply /[0-9]/g

演算法

  • **步驟 1** - 定義一個包含一些數字的字串。
  • **步驟 2** - 定義括號之間數字的 RegExp 模式。
  • **步驟 3** - 在上述定義的字串上應用 match(pattern) 來查詢字串中括號之間的數字。
  • **步驟 4** - 顯示結果 - 匹配的數字。

讓我們來看一些程式示例,以便更好地理解。

示例 1

在下面的程式中,我們使用字串 match(pattern) 來查詢給定字串中 1 到 4 之間的數字。我們使用 RegExp 模式 /[1-4]/g。字串 match() 方法返回字串中數字的陣列。

<!DOCTYPE html> <html> <body> <h2>Finding digits inside the bracket</h2> <p id = "text"></p> <p>Digits inside the bracket [1-4] : <span id= "result"></span> </p> <script> let myStr = "0127845639Hello"; document.getElementById("text").innerHTML = myStr; let pattern = /[1-4]/g; let result = myStr.match(pattern); document.getElementById("result").innerHTML = result; </script> </body> </html>

這裡,文字給出的是 0-9 數字和 Hello 單詞。在模式中,我們只給出了 [1-4]。match() 方法只會搜尋 1 到 4 的數字。如果在文字中找到指定的數字,match() 方法將返回現有數字的陣列,否則將返回 null。讓我們看另一個例子。

示例 2

在下面的程式中,我們使用一個沒有數字的字串,並嘗試在字串中查詢數字。我們使用字串 match(pattern) 來查詢給定字串中 1 到 4 之間的數字。我們使用 RegExp 模式 /[1-4]/g。看看我們的輸出是什麼樣的。

<!DOCTYPE html> <html> <body> <h1>Finding digits inside the bracket</h1> <p id= "result"></p> <script> let text = "567890"; let pattern = /[1-4]/g; let result = text.match(pattern); if(result == null){ document.getElementById("result").innerHTML = "Sorry, there is no digits in text that mentioned in the brackets"; } else { ocument.getElementById("result").innerHTML = result; } </script> </body> </html>

在這裡,我們可以觀察到我們在模式中提到了 [1-4],但在文字中我們給出了 5-9 和 0。match() 方法將返回 null,因為沒有找到。因此,如果語句被執行。如果輸入文字與第一個示例相同,則 match() 將返回現有數字的陣列,然後將執行另一個語句。例如,

示例 3

<!DOCTYPE html> <html> <body> <h1>Finding digits inside the bracket</h1> <p id= "result"></p> <script> let text = "0127845639Hello"; let pattern = /[1-4]/g; let result = text.match(pattern); if(result == null){ document.getElementById("result").innerHTML = "Sorry, there is no digits in text that mentioned in the brackets"; } else { document.getElementById("result").innerHTML = "Digit(s) inside the inside the bracket: " + result; } </script> </body> </html>

現在,我們將檢查如何在給定文字中替換單詞字元。讓我們看一個例子

示例 4

查詢和替換括號之間的數字

在下面的示例中,我們查詢並用空格字元替換 1 到 4 之間的數字。為此,我們使用 split() 和 join() 方法。

<!DOCTYPE html> <html> <body> <h1>Replace digits inside the bracket</h1> <p>After replacing the digits inside the bracket : <span id= "result"></span> </p> <script> let text = "0127845639Hello"; let pattern = /[1-4]/g; let result = text.split(pattern).join(" "); document.getElementById("result").innerHTML = result; </script> </body> </html>

示例 5

我們還將檢查使用更簡單的方法來替換括號內的數字。例如,

<!DOCTYPE html> <html> <body> <h1>Replace digits inside the bracket</h1> <p>After replacing the digits inside the bracket : <span id= "result"></span> </p> <script> let text = "0127845639Hello"; let pattern = /[1-4]/g; let result = text.replace(pattern , " "); document.getElementById("result").innerHTML = result; </script> </body> </html>

正如我們所討論的,g 用於全域性匹配。它不會在第一次出現時停止,而是會查詢所有出現的情況。

希望本教程能幫助您瞭解如何在 JavaScript 中使用 RegExp 查詢括號內的數字。

更新於:2022年8月26日

646 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告