2014-11-04 2 views
0

Я пытаюсь сделать код ниже, чтобы получить результат 1. Но не смог его получить.Javascript regex match using RegExp

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

Что именно должны Состязание регулярного выражения? – Cerbrus

ответ

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" />

Примечание: Лучший способ сделать это было бы использовать регулярное выражение буквально, как этот

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