嗨,我有两个打字稿片段。两者都希望达成相同的目标。但是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
非常感谢任何帮助 谢谢
答案 0 :(得分:2)
因为在第二个示例中,您实际上是在测试字符串messageControlValue
。像这样构造它:
let regex2: RegExp = new RegExp(`^${messageControlValue}`);
或者:
let regex2: RegExp = new RegExp("^" + messageControlValue);