Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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,我的正则表达式非常非常n00b,我正在努力学习,但没有成功:) 因此,我有以下文件名:myFile.8.9.6-x64.txt或myFile.8.9.6-x86.txt 因此,我想创建一个正则表达式,以便将文件名中的x64或x86字符串与以下内容匹配: var regexp = new RegExp(/[x_X][8][6]|[x][6][4]$/); console.log(regexp.test("myFile.8.9.6-x64.txt")); //returns false inste

我的正则表达式非常非常n00b,我正在努力学习,但没有成功:)

因此,我有以下文件名:
myFile.8.9.6-x64.txt
myFile.8.9.6-x86.txt

因此,我想创建一个正则表达式,以便将文件名中的
x64
x86
字符串与以下内容匹配:

var regexp = new RegExp(/[x_X][8][6]|[x][6][4]$/);

console.log(regexp.test("myFile.8.9.6-x64.txt")); //returns false instead of true

那么,我的错误在哪里呢?

您可以实际使用这个正则表达式:

var regexp = /x(?:86|64)\./i;
  • newregexp
    接受的字符串实际上不是带分隔符的正则表达式,如您的问题所示
  • 您的正则表达式在
    64/86
    之后有
    $
    ,但是您的文件名没有以
    64/86
    结尾
  • 无需重复
    x
  • 您可以使用
    /i
    忽略大小写匹配

从正则表达式中删除
$
。我将
$
放在正则表达式的末尾,所以这是个错误。无论如何,我会接受这个答案。