使用JavaScript正則表示式查詢括號之外的數字?
在JavaScript中,正則表示式[^0-9]用於查詢括號內的字元,但不是數字。除了括號中提到的數字外,它將把文字中剩餘的字元作為陣列返回。
我們都知道JavaScript中的RegExp(正則表示式)。RegExp是一個物件,它指定用於對字串執行搜尋和替換操作或進行輸入驗證的模式。RegExp在ES1中引入,並得到所有瀏覽器的完全支援。
語法
非數字字元或/[^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”用於執行多行匹配。
帶有修飾符的\w語法,例如:
new RegExp("[^0-9]", "g") or simply /[^0-9]/g
查詢括號之間不是數字的數字的步驟
步驟1 - 定義包含數字的字串。
步驟2 - 定義括號之間不是數字的數字的正則表示式模式。
步驟3 - 使用match()方法將字串與正則表示式模式匹配。
步驟4 - 顯示匹配的數字。
現在,讓我們看看如何查詢括號內的字元(除了數字)。
示例
在這個例子中,我們查詢括號[0, 4]之外的數字。
<!DOCTYPE html>
<html>
<body>
<h2>Digits not between the bracket</h2>
<p>Digits not in the bracket [1, 4]:
<p id = "result"></p>
</p>
<script>
let text = "1234567890";
let pattern = /[^1-4]/g;
let result = text.match(pattern);
document.getElementById("result").innerHTML = result;
</script>
</body>
</html>
示例
在下面的例子中,我們查詢括號[1, 4]之外的字元。
<!DOCTYPE html>
<html>
<body>
<h2>RegExp [^1-4]</h2>
<p>Characters not in the bracket [1-4]:
<p id = "result"></p>
</p>
<script>
let text = "1234567890_Hello@$%^&65434320867042ecsceQW";
let pattern = /[^1-4]/g;
let result = text.match(pattern);
document.getElementById("result").innerHTML = result;
</script>
</body>
</html>
在這裡,我們可以觀察到給定的文字是0-9和"_Hello@$%^&"。但在模式中,我們提到不要列印[1-4]範圍內的數字。因此,match()方法將把剩餘的字元作為陣列返回,否則match()方法將返回null。讓我們看看另一個例子
示例
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p id = "result"></p>
<script>
let text = "123456789";
let pattern = /[^1-9]/g;
let result = text.match(pattern);
if(result == null){
document.getElementById("result").innerHTML = "No characters found";
} else {
document.getElementById("result").innerHTML = "Characters are " + result;
}
</script>
</body>
</html>
這裡,文字是1-9,模式也不是1-9。因此,match()方法將找不到文字中除1-9之外的任何字元。因此,它將返回null。然後,如果執行該語句。如果我們提供如第一個示例所示的文字,則將執行else語句。
示例
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p id = "result">Characters not between the bracket [1, 9]: <br><br> </p>
<script>
let text = "9876543210_Hello@$%^&";
let pattern = /[^1-9]/g;
let result = text.match(pattern);
if(result == null){
document.getElementById("result").innerHTML += "No characters found";
} else {
document.getElementById("result").innerHTML += "Characters are " + result;
}
</script>
</body>
</html>
現在,我們將檢查如何替換給定文字中的單詞字元。為此,我們將使用另一個僅包含數字的正則表示式。我們將這個正則表示式與之前的結果匹配。讓我們看一個例子
示例
在下面的例子中,我們查詢括號[1, 4]之外的數字。
<!DOCTYPE html>
<html>
<body>
<h1>RegExp [^0-9]</h1>
<p>Digits not in the bracket [1,4]:
<p id = "result"></p>
</p>
<script>
let text = "1234567890_Hello@$%^&65434320867042ecsceQW";
let pattern = /[^1-4]/g;
let result = text.match(pattern);
let pattern2 = /\d/g;
document.getElementById("result").innerHTML =
JSON.stringify(result).match(pattern2);
</script>
</body>
</html>
在上面的程式中,我們首先查詢括號[1, 4]之外的所有字元,然後從這組字元中查詢僅包含數字的字元。
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP