2014-07-25 2 views
2

RegExp 생성자와 정규 표현식 리터럴을 사용하는 것과 다른 점을 알고 있습니다 만, 선호도 문제와 다른 표현식을 사용하는 것의 차이점은 무엇입니까?RegExp 생성자와 정규식 리터럴을 사용하는 경우는 언제입니까?

일 때 정규 표현식 리터럴 대신 RegExp 생성자를 사용해야하는 인스턴스가 있습니까? 그렇다면이 예가 있습니까?

+4

동적으로 정규 표현식을 만들 때 생성자를 사용하십시오. – soktinpk

답변

3

MDN says는 : 스크립트가로드 될 때

정규 표현식 리터럴은 정규 표현식의 컴파일을 제공합니다. 정규 표현식이 일정하게 유지되면 더 나은 성능을 위해 이것을 사용하십시오.

생성자 함수를 사용하면 정규식의 런타임 컴파일이 제공됩니다. 정규식 패턴이 변경되거나 패턴을 모르고 사용자 입력과 같은 다른 소스에서 패턴을 가져 오는 경우 생성자 함수를 사용하십시오.

실제로는 간단한 정규 표현식에 리터럴 형식을 사용합니다. 더 복잡한 표현식의 경우, 문자열 연결을 통해 조각을 모아서 생성자를 사용합니다.

보너스 : 복잡한 정규 표현식의 경우 debuggex과 같은 도구가 실제로 도움이됩니다.

관련 문제