为什么同一个正则表达式会给出两个不同的结果?

时间:2019-07-31 13:37:49

标签: javascript regex typescript

嗨,我有两个打字稿片段。两者都希望达成相同的目标。但是console.log会输出不同的值。知道有什么问题吗?为什么代码2会显示false。

var regex1 = new RegExp(/^FEDEX /)
var messagePrefix = "FEDEX "
console.log(regex1.test(messagePrefix)); // this prints true 

let messageControlValue:string = "FEDEX "
let regex2:RegExp = new RegExp(/^messageControlValue/);
console.log(regex2.test(messagePrefix)); // this prints false

非常感谢任何帮助 谢谢

1 个答案:

答案 0 :(得分:2)

因为在第二个示例中,您实际上是在测试字符串messageControlValue。像这样构造它:

let regex2: RegExp = new RegExp(`^${messageControlValue}`);

或者:

let regex2: RegExp = new RegExp("^" + messageControlValue);
相关问题