2014-03-07 2 views
0

문자열에서 문자를 대체하는 정규 표현식을 작성하고 있습니다. 제거 할 문자는 런타임에 결정됩니다. 그래서 변수를 정규식에 넣을 수있는 방법이 있습니까?regex (as3)에서 변수를 사용하는 방법

e.g- var reg:RegExp=/[some vaiable]/g;

나는 정규 표현식을 new 연산자를 사용하지 않습니다.

미리 감사드립니다.

답변

1

제한 사항으로 인해 이러한 상황이 불가능합니다. 어도비의 도움으로 당

regular expressions에 :

앞으로 따옴표는 문자열 리터럴을 나타내는 것과 같은 방식으로 문자 정규 표현식을 묘사 슬래시.

새로운 생성자를 사용하여

, 당신은 정규 표현식을 정의하는 두 개의 문자열을 사용합니다. 당신이 정규 표현식은 런타임에 정의하려면 첫 번째 문자열은 패턴을

를 정의 즉 하지 문자 수, 두 번째 형식을 사용합니다. 전혀 어렵지 않습니다!

var reg:RegExp = new RegExp(some_variable, "g"); 

중요한 차이점 하나만 제외하면 정확히 동일합니다.이 방법은 효과적이지만 길은 그렇지 않습니다.

+0

저는 이미 새로운 생성자를 사용하여 두 번째 형식을 사용하고 있습니다. 다른 방법이있을 수 있다고 생각했습니다. – Kaif

+0

아니요, 없습니다. '//'문법은 리터럴 표현식에 대해서만 사용됩니다. 변수를 삽입하기 때문에 리터럴이 아니며 'new'구문이 붙어 있습니다. –

+0

좋습니다. 따라서 우리는 regx 리터럴 exp에 변수를 삽입 할 수 없습니다. 문자열 리터럴에 변수를 삽입 할 수 있습니다. – Kaif

관련 문제