如何在javascript中运行正则表达式的正则表达式?

tec*_*jas 7 javascript regex

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

var str="Is this all there is?";
var patt1=/is/gi;
Run Code Online (Sandbox Code Playgroud)

我想提取主表达式is(没有修饰符)来var patt1使用另一个正则表达式,我们可以var patt2为了参数而调用它.

如何在vanilla JavaScript中做到这一点?

xda*_*azz 11

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

你可以得到正则表达式的源代码patt1.source.

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

  • +1 - 接受这个答案只是因为我先看到它 - 否则它们之间没有太大区别两个:) (2认同)

Mar*_*ers 9

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

> patt1.source
"is"
Run Code Online (Sandbox Code Playgroud)