2009-07-02 4 views
3

정규 표현식에서 JavaScript가 실행될 때 표현식 컴파일 된 코드를 평가하는 정규식 엔진이 무엇입니까? 또는 엔진 자체가 자바 스크립트로 작성된 것입니까?JavaScript에서 정규 표현식은 컴파일 된 코드로 평가됩니까?

일부 기본 문자열이 테스트와 일치하는 동안 동일한 정규식이 동일한 JavaScript 함수보다 상당히 빠르다는 것을 알았 기 때문에 정규식이 더 빠르다는 것이 궁금했습니다.

P .: 완전히 정규 표현식입니다.

답변

6

구현까지는되지만, 알고있는 모든 구현 (Gecko, Trident 등)은 컴파일 된 코드에서 수행됩니다.

3

구현이 네이티브 코드를 사용하는지 여부는 js 엔진에 따라 다릅니다.

자바 스크립트 코드에 더 빨리 영향을 줄 수 있습니다.

/myregexhere/ 구문을 사용하여 javascript regex 구문을 사용하는 경우 정규식은 코드가 실행될 때마다 컴파일됩니다. Javascript에서 RegEx 객체를 사용하면 동일한 패턴을 여러 번 사용할 때 정규 표현식을 컴파일하고 더 나은 성능을 얻을 수 있습니다.

+0

/myregexhere/구문도 컴파일해야합니다. –

+0

변수에 저장되어 있으면 변수에 저장되면 실행되고 다시 컴파일됩니다. – Kekoa