我正在尝试下面的代码来获取输出1.但是无法得到它。
var labhost = '0';
var podmaster_node = "evhlab65.ms.com";
var matchtxt = new RegExp('\w+\.ms\.com', "i");
if (podmaster_node.match(matchtxt)) {
labhost = '1';
}
alert(labhost);
请帮我解决这个问题。
谢谢!
答案 0 :(得分:2)
当你在RegExp
构造函数中转义正则表达式时,你需要像这样转义
var matchtxt = new RegExp('\\w+\\.ms\\.com', "i");
\w+
,翻译为w+
。因此,您需要使用\
转义\\
,这会使\
成为正则表达式的一部分。
var labhost = '0';
var podmaster_node = "evhlab65.ms.com";
var matchtxt = new RegExp('\\w+\\.ms\\.com', "i");
if (podmaster_node.match(matchtxt)) {
labhost = '1';
}
document.getElementById("result").innerHTML = labhost;

<div id="result" />
&#13;
注意:更好的方法是使用正则表达式文字,就像这样
var matchtxt = /\w+\.ms\.com/i;