2013-09-26 1 views

답변

2

다른 방법으로는 new RegExp(pattern)입니다. 대소 문자를 구분하지

  • -

    • i : 이
      var pattern = new RegExp(pattern, modifiers); 
      

      수정은 다음 중 하나가 될 수 있습니다

      var pattern = /pattern/modifiers; 
      

      또는

      을 : 당신은 두 번째 / 후 추가하여 그것에 수정을 추가 할 수 있습니다 m - 여러 줄에 일치
    • g - 모든 자바 스크립트가 단순히 코드에 /^\d\d$/를 넣어하고 컴파일 할 수 있습니다
  • 1

    일치 발견, 그래서 우리는 그것을 따옴표 (2 적은 바이트) 또는 객체 생성자 (13 바이트 이상)을 포함해야, 플러스하지 않는다 문자열을 사용하여 RegExp 객체를 만드는 것에 비해 자바 스크립트를 사용하여 프리 컴파일 할 때 더 빠를 수 있습니다.

    두 번째 슬래시 후에도 gi과 같은 옵션을 추가로 가질 수 있습니다.

    다음은 성능 테스트입니다.

    http://jsperf.com/regexp-object-vs-regexp-inline

    +0

    g와 i의 목적은 무엇입니까? 전 reg 전 분야에서 새로운데,이 부분을 자세히 설명해 주시겠습니까? – c2h5oh

    +1

    g = global, i = 대소 문자를 구별하지 않음 – aet

    +1

    'g '는 첫 번째 패턴이 아닌 모든 패턴을 찾고자 함을 의미합니다. 'i'는 대문자와 소문자를 구분하지 않는다는 의미입니다. –

    0

    예, 그들은 효과적으로 문자열 주변에 마커로 사용되고있다. 일부 언어는 Perl과 같은 다른 문자를 대신 사용할 수 있습니다. 이것은 정규 표현식에 "/"문자를 사용하는 것이 더 쉽도록하기위한 것입니다.

    if (m#^/usr/spool/whatever/#) { 
        do_something(); 
    } 
    
    관련 문제