使用 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.