2012-03-04 5 views
1

정확한 PHP 정규식 기능을 자바 스크립트로 바꾸는 방법을 궁금합니다.이 PHP 정규식을 javascript로 변환하십시오.

$ismatch= preg_match('|She is a <span><b>(.*)</b></span>|si', $sentence, $matchresult); 

if($ismatch) 
{ 
     $gender= $matchresult[1]; 
} 
else{ //do other thing } 
+0

뉴스, JS는 dotall 스위치를 지원하지 않습니다. http://stackoverflow.com/questions/1068280/javascript-regex-multiline-flag-doesnt-work – Petah

+0

적절히 구두점을 두어 초점을 맞추면 좋은 질문 일 수 있습니다. 수정 자 ... 현재 상태에서 "나를 위해 일하십시오"questio처럼 들립니다. 엔. –

답변

3

자바 스크립트가 s 수정자를 지원하지 않기 때문에 이것은 간단하지 않습니다.

등가 정규식 객체는 다음과 같이 자바 스크립트에서 수행 될 수

/She is a <span><b>([\s\S]*)<\/b><\/span>/i 

(일치가있을 경우 경기에서 1 군 추출) 코드의 기능을 것 : 나쁜

var myregexp = /She is a <span><b>([\s\S]*)<\/b><\/span>/i; 
var match = myregexp.exec(subject); 
if (match != null) { 
    result = match[1]; 
} else { 
    // do other thing 
} 
+1

'[\ s \ S] 접근법에 대한 정보는 [MDN] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp)에서 찾을 수 있습니다 : * (소수점)은 개행 문자를 제외한 단일 문자 :'\ n''\ r'' \ u2028' 또는'\ u2029'. ('[\ s \ S]'는 개행 문자를 포함한 모든 문자를 매치시키는 데 사용할 수 있습니다.) * –

+0

또는 특수한 JS 기능'[^]'을 사용하십시오. – Qtax

+0

@ Qtax : 와우, 나는 전에 이것을 본 적이 없었다. 이에 관한 문서가 있습니까? –

관련 문제