【问题标题】:How do I do run a regex on a regex in javascript?如何在 javascript 中的正则表达式上运行正则表达式?
【发布时间】:2012-12-25 09:20:42
【问题描述】:

我有以下正则表达式模式和字符串:

var str="Is this all there is?";
var patt1=/is/gi;

我想使用 another 正则表达式从 var patt1 中提取主表达式 is(不带修饰符),我们可以将其称为 var patt2 作为参数。

在原生 JavaScript 中怎么可能做到这一点?

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    是的,patt1 是一个正则表达式对象。

    您可以通过patt1.source 获取正则表达式源代码。

    > console.dir(patt1);
      /is/gi
        global: true
        ignoreCase: true
        lastIndex: 0
        multiline: false
        source: "is"
        __proto__: /(?:)/
    

    【讨论】:

    • +1 - 接受这个答案只是因为我第一次看到它 - 否则它们两者之间没有太大区别:)
    【解决方案2】:

    不需要正则表达式。试试这个:

    > patt1.source
    "is"
    

    【讨论】:

    • +1 - 哇!我不知道这个方法存在于正则表达式对象上。
    【解决方案3】:

    我想你需要的是这样的:

     var patt1=/[is]/gi;
     alert(patt1.test());
    

    【讨论】:

      猜你喜欢
      • 2022-06-15
      • 2012-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      相关资源
      最近更新 更多