在 JavaScript RegExp 中查找括号之间的数字?

htmljavascriptprogramming scripts

在本教程中,我们将学习如何使用 JavaScript RegExp 查找括号之间的数字。数字 (0-9) 的 ASCII 值从 48 到 57。我们在正则表达式中将括号中的数字表示为 [0-9]。要查找除所有数字之外的范围内的数字,我们可以写出特定的范围。至于查找 4 到 8 之间的数字,我们可以在正则表达式模式中将其写为 [4-8]。现在,我们的目标是使用 JavaScript 中的 RegExp 在文本中查找括号内的数字。我们可以按照以下语法来查找括号之间的数字。

语法

以下是 RegExp 组 [0-9] 字符的语法 -

new RegExp("[0-9]") 或简称 /[0-9]/

/[0-9]/, 在 ES1 中引入。它完全受所有浏览器支持。例如,Chrome、IE、Safari、Opera、FireFox 和 Edge。

RegExp 有修饰符,如 g、i、m。 "g" 用于执行全局匹配,"i" 用于执行不区分大小写的匹配,"m" 用于执行多行匹配。

/[0-9]/ 的语法带有修饰符,如

new RegExp("[0-9]", "g") 或简称为 /[0-9]/g

算法

  • 步骤 1 - 定义一个包含一些数字的字符串。
  • 步骤 2 - 定义括号间数字的 RegExp 模式。
  • 步骤 3 - 对上面定义的字符串应用 match(pattern) 以查找字符串中括号间的数字。
  • 步骤 4 - 显示结果 - 匹配的数字。

让我们看一些程序示例,以便更清楚地理解。

示例 1

在下面的程序中,我们使用字符串 match(pattern) 在给定的字符串中查找 1 到 4 之间的数字。我们使用 RegExp 模式作为 /[1-4]/g。字符串 match() 方法返回字符串中的数字数组。

<!DOCTYPE html> <html> <body> <h2>Finding digits inside the bracket</h2> <p id = "text"></p> <p>Digits inside the bracket [1-4] : <span id= "result"></span> </p> <script> let myStr = "0127845639Hello"; document.getElementById("text").innerHTML = myStr; let pattern = /[1-4]/g; let result = myStr.match(pattern); document.getElementById("result").innerHTML = result; </script> </body> </html>

此处,文本为 0-9 数字和 Hello 单词。在模式中,我们仅给出了 [1-4]。match() 方法将仅搜索 1 到 4 之间的数字。如果在文本中找到提到的数字,match() 方法将返回现有数字的数组,否则将返回 null。让我们看另一个示例。

示例 2

在下面的程序中,我们取一个没有数字的字符串并尝试在字符串中查找数字。我们使用字符串 match(pattern) 在给定的字符串中查找 1 到 4 之间的数字。我们使用 RegExp 模式为 /[1-4]/g。看看我们的输出是什么样的。

<!DOCTYPE html> <html> <body> <h1>Finding digits inside the bracket</h1> <p id= "result"></p> <script> let text = "567890"; let pattern = /[1-4]/g; let result = text.match(pattern); if(result == null){ document.getElementById("result").innerHTML = "Sorry, there is no digits in text that mentioned in the brackets"; } else { ocument.getElementById("result").innerHTML = result; } </script> </body> </html>

在这里,我们可以观察到我们提到的模式 [1-4],但在文本中我们给出的是 5-9 和 0。match() 方法将返回为 null,因为没有发现。所以,如果执行该语句。如果输入文本作为第一个示例给出,则 match() 将返回现有数字的数组,并将执行另一个语句。例如,

示例 3

<!DOCTYPE html> <html> <body> <h1>Finding digits inside the bracket</h1> <p id= "result"></p> <script> let text = "0127845639Hello"; let pattern = /[1-4]/g; let result = text.match(pattern); if(result == null){ document.getElementById("result").innerHTML = "Sorry, there is no digits in text that mentioned in the brackets"; } else { document.getElementById("result").innerHTML = "Digit(s) inside the inside the bracket: " + result; } </script> </body> </html>

现在,我们将检查如何替换给定文本中的单词字符。让我们看一个例子

示例 4

查找和替换括号之间的数字

在下面的例子中,我们查找并用空格字符替换 1 到 4 之间的数字。为此,我们使用 split() 和 join() 方法。

<!DOCTYPE html> <html> <body> <h1>Replace digits inside the bracket</h1> <p>After replacing the digits inside the bracket : <span id= "result"></span> </p> <script> let text = "0127845639Hello"; let pattern = /[1-4]/g; let result = text.split(pattern).join(" "); document.getElementById("result").innerHTML = result; </script> </body> </html>

示例 5

我们还将使用更简单的方法检查替换括号内的数字。例如,

<!DOCTYPE html> <html> <body> <h1>Replace digits inside the bracket</h1> <p>After replacing the digits inside the bracket : <span id= "result"></span> </p> <script> let text = "0127845639Hello"; let pattern = /[1-4]/g; let result = text.replace(pattern , " "); document.getElementById("result").innerHTML = result; </script> </body> </html>

正如我们所讨论的,g 代表全局匹配。它不会在第一次出现时停止,而是会查找所有出现的情况。

希望本教程能教您如何使用 JavaScript 中的 RegExp 查找括号内的数字。


相关文章