2014-11-04 1 views
0

출력 1을 얻으려면 아래 코드를 시도하고 있지만 얻을 수는 없습니다.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); 

도와주세요.

감사합니다. 당신이 RegExp 생성자에서 정규 표현식을 탈출 할 때

+0

무엇을 정확하게해야 정규식 일치 같은 정규 표현식 리터럴을 사용하는 것이 작업을 수행 할 수있는 더 좋은 방법? – Cerbrus

답변

2

, 당신은 w+로 변환이

var matchtxt = new RegExp('\\w+\\.ms\\.com', "i"); 

\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;