2012-05-21 2 views
3

사람이 왜 Invalid regular expression: Invalid group 오류를 표시하는지 알 수 있습니까?Regex Invalid Group

text.replace(/(?<!br|p|\/p|b|\/b)>/g, "&gt;"); 

이 사람은 OK입니다 : 그래서

text.replace(/<(?!br|p|\/p|b|\/b)/g, "&lt;"); 

, 내가 첫 번째 (&gt;)과 잘못된거야 어디 모르겠어요.

예를 들어 fiddle입니다.

답변

3

JavaScript는 lookbehinds를 지원하지 않습니다.

text = text.replace(/(br|p|\/p|b|\/b)?>/g, function($0, $1){ 
    return $1 ? $0 : "&gt;"; 
}); 

이러한 접근 방식은 다음 블로그 항목에서 온다 : 여기 Mimicking Lookbehind in JavaScript

업데이트 fiddle 여기에 같은 동작을 얻을 수있는 하나의 방법입니다.