如何在JavaScript中克隆给定的正则表达式

如何在JavaScript中克隆给定的正则表达式

在本文中,我们将了解如何使用JavaScript克隆正则表达式。我们可以使用构造函数 RegExp() 来克隆给定的正则表达式。

使用该构造函数的语法如下:

语法:

new RegExp(regExp, flags)

这里的regExp是要克隆的表达式,而flags确定克隆的标记。主要有三种类型的标记:

  • g全局标记 ,使用此标记进行全局匹配。
  • i不区分大小写标记 ,使用此标记进行不区分大小写的搜索。
  • m多行匹配标记 ,使用此标记进行多行匹配。

现在让我们看一下如何在JavaScript中使用 RegExp() 构造函数来克隆给定的正则表达式。

示例:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
  
    <script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js">
    </script>
    <title>Clone a given regular expression</title>
  </head>
  <body style="text-align: center">
    <p>Enter Regular Expression to clone</p>
  
    <input type="text" id="data" name="input" /><br />
    <button id="b1">Clone Regex</button>
    <div id="display"></div>
  
    <script>
      function cloneRegex(input, outputflag) {
        var pattern = input.source;
        const flags = [...new Set(input.flags + outputflag)].join("");
        // 使用RegExp构造函数来克隆正则表达式,可选择修改标记。
        return new RegExp(pattern, flags);
      }
  
      // 将用户数据作为输入
      var d = ("#data").val();
  
      var regex = new RegExp(d, "i");
      // 将用户数据传递给cloneRegex函数,并将g设置为标记。
      var clonedregex = cloneRegex(regex, "g");
  
      ("#b1").click(function () {
        $("#display").html("克隆的正则表达式如下:" + clonedregex);
      });
    </script>
  </body>
</html>

输出1:

如何在JavaScript中克隆给定的正则表达式

输出2:

如何在JavaScript中克隆给定的正则表达式

阅读更多:JavaScript 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程