使用RegExp进行Javascript正则表达式匹配

时间:2014-11-04 08:07:16

标签: javascript regex

我正在尝试下面的代码来获取输出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);

请帮我解决这个问题。

谢谢!

1 个答案:

答案 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;
&#13;
&#13;

注意:更好的方法是使用正则表达式文字,就像这样

var matchtxt = /\w+\.ms\.com/i;