Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript正则表达式作为字符串不起作用_Javascript_Regex - Fatal编程技术网

Javascript正则表达式作为字符串不起作用

Javascript正则表达式作为字符串不起作用,javascript,regex,Javascript,Regex,我试图理解为什么将正则表达式作为字符串编写是不起作用的,但是在没有字符串的情况下使用正则表达式是起作用的 这是我的例子: var patt = new RegExp("/test_.*/gi"); var res = patt.test("test_4"); console.log(res); 将返回false 但这是: var patt = /test_.*/gi; var res = patt.test("test_4"); console.log(res); 将返回真值 区别是什么您的

我试图理解为什么将正则表达式作为字符串编写是不起作用的,但是在没有字符串的情况下使用正则表达式是起作用的

这是我的例子:

var patt = new RegExp("/test_.*/gi");
var res = patt.test("test_4");
console.log(res);
将返回false

但这是:

var patt = /test_.*/gi;
var res = patt.test("test_4");
console.log(res);
将返回真值

区别是什么

您的语法错误

  • 使用
    RegExp
    构造函数创建新的正则表达式时,不需要分隔符
  • 标志应作为第二个参数传递给
    RegExp
    构造函数
  • 如果要匹配
    文字,则应转义
  • 用法

    var patt = new RegExp("test_.*", "gi");
    
    演示

    var patt=newregexp(“test.*”、“gi”);
    var res=部分测试(“测试4”);
    文件编写(res)您的语法错误

  • 使用
    RegExp
    构造函数创建新的正则表达式时,不需要分隔符
  • 标志应作为第二个参数传递给
    RegExp
    构造函数
  • 如果要匹配
    文字,则应转义
  • 用法

    var patt = new RegExp("test_.*", "gi");
    
    演示

    var patt=newregexp(“test.*”、“gi”);
    var res=部分测试(“测试4”);
    文件编写(res)您的语法错误

  • 使用
    RegExp
    构造函数创建新的正则表达式时,不需要分隔符
  • 标志应作为第二个参数传递给
    RegExp
    构造函数
  • 如果要匹配
    文字,则应转义
  • 用法

    var patt = new RegExp("test_.*", "gi");
    
    演示

    var patt=newregexp(“test.*”、“gi”);
    var res=部分测试(“测试4”);
    文件编写(res)您的语法错误

  • 使用
    RegExp
    构造函数创建新的正则表达式时,不需要分隔符
  • 标志应作为第二个参数传递给
    RegExp
    构造函数
  • 如果要匹配
    文字,则应转义
  • 用法

    var patt = new RegExp("test_.*", "gi");
    
    演示

    var patt=newregexp(“test.*”、“gi”);
    var res=部分测试(“测试4”);
    
    文件编写(res)regexp构造函数不需要分隔符,而且,标志被隔离在另一个参数中,从而将其简化为

    var patt = new RegExp('test_.*', 'gi');
    var res = patt.test("test_4");
    console.log(res);
    

    regexp构造函数不需要分隔符,而且,标志在另一个参数中被隔离,从而将其简化为

    var patt = new RegExp('test_.*', 'gi');
    var res = patt.test("test_4");
    console.log(res);
    

    regexp构造函数不需要分隔符,而且,标志在另一个参数中被隔离,从而将其简化为

    var patt = new RegExp('test_.*', 'gi');
    var res = patt.test("test_4");
    console.log(res);
    

    regexp构造函数不需要分隔符,而且,标志在另一个参数中被隔离,从而将其简化为

    var patt = new RegExp('test_.*', 'gi');
    var res = patt.test("test_4");
    console.log(res);
    

    在使用构造函数时,不需要在正则表达式的开头和结尾包含
    /
    ,标志需要在第二个参数中。见

    var patt=newregexp(“test.*”、“gi”);
    var res=部分测试(“测试4”);
    
    控制台日志(res)使用构造函数时,不需要在正则表达式的开始和结束处包含
    /
    ,标志需要在第二个参数中。见

    var patt=newregexp(“test.*”、“gi”);
    var res=部分测试(“测试4”);
    
    控制台日志(res)使用构造函数时,不需要在正则表达式的开始和结束处包含
    /
    ,标志需要在第二个参数中。见

    var patt=newregexp(“test.*”、“gi”);
    var res=部分测试(“测试4”);
    
    控制台日志(res)使用构造函数时,不需要在正则表达式的开始和结束处包含
    /
    ,标志需要在第二个参数中。见

    var patt=newregexp(“test.*”、“gi”);
    var res=部分测试(“测试4”);
    
    控制台日志(res)如果没有正确调用构造函数,则应将FALG作为第二个参数传递:

    new RegExp('test_.*', 'gi');
    
    正如您在中所看到的,它应该遵守以下格式:

    new RegExp(pattern[, flags])
    
    这是您的演示:

    var patt=new RegExp(“test.*”,“gi”);
    var res=部分测试(“测试4”);
    
    警报(res)如果没有正确调用构造函数,则应将FALG作为第二个参数传递:

    new RegExp('test_.*', 'gi');
    
    正如您在中所看到的,它应该遵守以下格式:

    new RegExp(pattern[, flags])
    
    这是您的演示:

    var patt=new RegExp(“test.*”,“gi”);
    var res=部分测试(“测试4”);
    
    警报(res)如果没有正确调用构造函数,则应将FALG作为第二个参数传递:

    new RegExp('test_.*', 'gi');
    
    正如您在中所看到的,它应该遵守以下格式:

    new RegExp(pattern[, flags])
    
    这是您的演示:

    var patt=new RegExp(“test.*”,“gi”);
    var res=部分测试(“测试4”);
    
    警报(res)如果没有正确调用构造函数,则应将FALG作为第二个参数传递:

    new RegExp('test_.*', 'gi');
    
    正如您在中所看到的,它应该遵守以下格式:

    new RegExp(pattern[, flags])
    
    这是您的演示:

    var patt=new RegExp(“test.*”,“gi”);
    var res=部分测试(“测试4”);
    
    警报(res)参见构造函数调用:尽管与此处的问题无关(因为它没有表现出来),但不要将
    g
    标志与
    test
    参见构造函数调用:尽管与此处的问题无关(因为它没有表现出来),不要将
    g
    标志与
    test
    参见构造函数调用:尽管与此处的问题无关(因为它没有表现出来),但不要将
    g
    标志与
    test
    参见构造函数调用:尽管与此处的问题无关(因为它没有表现出来),不要将
    g
    标志与
    test
    @lobengula3rd Check更新答案一起使用。我还包括了
    演示
    为什么要逃避
    ?与OP不同的正则表达式。不要在字符串中写入
    “\。”
    。虽然技术上可行,但是