在javascript中匹配字符串时出现正则表达式问题
我的正则表达式非常非常n00b,我正在努力学习,但没有成功:) 因此,我有以下文件名:在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
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
$
。我将$
放在正则表达式的末尾,所以这是个错误。无论如何,我会接受这个答案。