如何使用 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] 之外的所有字元,然後從這組字元中僅查詢數字。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP