使用 JavaScript RegExp 在字串中查詢單詞字元?


在本教程中,我們將瞭解如何從文字中查詢單詞字元。單詞字元表示為 \w。單詞字元是指諸如 a-z、A-Z 和 0-9 之類的字元,還包括下劃線 (_) 。我們都知道 js 中的 RegExp(正則表示式)。RegExp 是一個物件,它指定用於對字串執行搜尋和替換操作或進行輸入驗證的模式。RegExp 在 ES1 中引入,並且所有瀏覽器都完全支援它。

A-Z 的 ASCII 碼是 65-90,a-z 是 97-122,0-9 是 48-57,下劃線是 95。

語法

單詞或 \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 - 顯示結果。

讓我們來看一個從文字中查詢單詞字元 \w 的示例。

示例

在下面的示例中,我們使用正則表示式和 match() 方法在字串中查詢單詞字元。

<!DOCTYPE html>
<html>
<body>
   <h1>Finding word character</h1>
   <p>Word characters :
      <p id="result"></p>
   </p>
   <script>
      let text = "_Hi, Welcome back!20@";
      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 word character</h1>
   <p id="result"></p>
   <script>
      let text = "!@#$^%*{[]}";
      let pattern = /\w/g;
      let result = text.match(pattern);
      if(result == null){
         document.getElementById("result").innerHTML = "Sorry, no word characters exist";
      } else {
         document.getElementById("result").innerHTML = result;
      }
   </script>
</body>
</html>

在這裡,輸入文字中不存在任何單詞字元。match() 方法將返回 null。因此,如果執行該語句。如果 text 包含單詞字元(如第一個示例中所示)。然後,執行 else 語句。

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

示例

<!DOCTYPE html>
<html>
<body>
   <h1>Replace word character(s)</h1>
   <p>After replacing the word character(s) :
      <p id="result"></p>
   </p>
   <script>
      let text = "_Hi, Welcome back!20@";
      let pattern = /\w/g;
      let result = text.split(/\w/g).join(" ");
      document.getElementById("result").innerHTML = result;
   </script>
</body>
</html>

我們還將以更簡單的方式替換單詞字元。例如,

示例

<!DOCTYPE html>
<html>
<body>
   <h1>Replace word character(s)</h1>
   <p>After replacing the word character(s) :
      <p id="result"></p>
   </p>
   <script>
      let text = "_Hi, Welcome back!20@";
      let pattern = /\w/g;
      let result = text.replace(pattern , " ");
      document.getElementById("result").innerHTML = result;
   </script>
</body>
</html>

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

希望本教程有助於使用 JavaScript 中的 RegExp 在字串中查詢單詞字元。

更新於: 2022-12-08

977 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.