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

Javascript 为什么同一个正则表达式给出两个不同的结果?,javascript,regex,typescript,Javascript,Regex,Typescript,嗨,我有两个打字脚本片段。双方都希望实现同样的目标。但是,console.log打印不同的值。你知道怎么了吗?为什么代码2打印错误 var regex1 = new RegExp(/^FEDEX /) var messagePrefix = "FEDEX " console.log(regex1.test(messagePrefix)); // this prints true let messageControlValue:string = "FEDEX " let regex2:RegE

嗨,我有两个打字脚本片段。双方都希望实现同样的目标。但是,console.log打印不同的值。你知道怎么了吗?为什么代码2打印错误

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
非常感谢你的帮助
谢谢

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

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


因为
new RegExp(/^messageControlValue/)
中的
messageControlValue
messageControlValue
字符串,而不是
messageControlValue
变量。您打算使用
new RegExp(“^”+messageControlValue)
excellent谢谢您没问题@knowledgeseek,总是很乐意帮忙。您能帮我吗
let regex2: RegExp = new RegExp("^" + messageControlValue);