使用JavaScript正則表示式查詢字串中的非單詞字元
在本教程中,我們將學習如何使用JavaScript正則表示式在字串中查詢非單詞字元。實際上,**單詞字元**包括**A-Z、a-z、0-9**和_。而**非單詞字元**則指除了單詞字元以外的字元,例如 !、@、#、$、%、^、&、*、(、)、{、} 等。我們將非單詞字元表示為\W。我們都知道JavaScript中的RegExp(正則表示式)。RegExp是一個物件,它指定用於對字串執行搜尋和替換操作或進行輸入驗證的模式。RegExp在ES1中引入,並得到所有瀏覽器的完全支援。
非單詞字元的ASCII碼為
! - 33, @ - 64, #- 35, $ - 36, % - 37, ^ - 94, & - 38, * - 42, + - 43, - - 45, ( - 40, ) - 41.
現在,我們將檢查如何使用RegExp查詢非單詞字元。
語法
非單詞字元或\W字元的語法為
new RegExp("\W") or simply /\W/
/\W/,在ES1中引入。它得到所有瀏覽器的完全支援,例如Chrome、IE、Safari、Opera、FireFox和Edge。
RegExp具有修飾符,例如g、i、m。“g”用於執行全域性匹配,“i”用於執行不區分大小寫的匹配,“m”用於執行多行匹配。
帶有修飾符的\W語法,例如:
new RegExp("\W", "g") or simply /\W/g
在字串中查詢非單詞字元的步驟
**步驟1** - 宣告並定義包含一些非單詞字元的字串。
**步驟2** - 定義正則表示式模式。
**步驟3** - 透過將字串與正則表示式模式匹配來查詢非單詞字元。
**步驟4** - 顯示結果。
示例
在下面的示例中,我們使用RegExp和match()方法在字串中查詢非單詞字元。
<!DOCTYPE html>
<html>
<body>
<h1>Finding non-word character</h1>
<p>Non-word characters :
<p id="result"></p>
</p>
<script>
let text = "_HiWelcome@2022%!$%&*@!{[()]}";
let pattern = /\W/g;
let result = text.match(pattern);
document.getElementById("result").innerHTML = result;
</script>
</body>
</html>
示例
在這裡,如果給定文字中存在非單詞字元,match()方法將返回一個包含現有非單詞字元的陣列。如果沒有,則返回null。讓我們看看另一個示例。
<!DOCTYPE html>
<html>
<body>
<h1>Finding non-word character</h1>
<p id="result"></p>
<script>
let text = "_HiWelcome2022";
let pattern = /\W/g;
let result = text.match(pattern);
if(result == null){
document.getElementById("result").innerHTML = "Sorry, No non-word present in the text";
}else{
document.getElementById("result").innerHTML = "Non-word character(s):" +result;
}
</script>
</body>
</html>
這裡,文字中沒有非單詞字元。match()方法返回null。因此,如果語句被執行。如果文字包含非單詞字元(如第一個示例所示),則match()方法將返回一個包含現有非單詞字元的陣列。因此,else語句將執行。
示例
現在,我們將檢查如何替換給定文字中的單詞字元。讓我們看看一個例子
<!DOCTYPE html>
<html>
<body>
<h1>Replace non-word character(s)</h1>
<p>After replacing non-word character(s) :
<p id="result"></p>
</p>
<script>
let text = "_HiWelcome@2022%!$%&*@!{[()]}";
let pattern = /\W/g;
let result = text.split(pattern).join(" ");
document.getElementById("result").innerHTML = result;
</script>
</body>
</html>
示例
我們還將檢查另一種替換非單詞字元的方法。讓我們看看一個例子
<!DOCTYPE html>
<html>
<body>
<h1>Replace non-word character(s)</h1>
<p>After replacing non-word character(s) :
<p id="result"></p>
</p>
<script>
let text = "_HiWelcome@2022%!$%&*@!{[()]}";
let pattern = /\W/g;
let result = text.replace(pattern , " ");
document.getElementById("result").innerHTML = result;
</script>
</body>
</html>
正如我們所討論的,g用於全域性匹配。它不會在第一次出現時停止,而是會查詢所有出現。
我希望本教程能幫助您瞭解如何在JavaScript中使用RegExp查詢非單詞字元。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP