모든 대시를 찾으려면 문자열 “-“가 아니라 필수 g 플래그가있는 regexp /-/g를 사용해야합니다: 이 예제에서는 정확히 3 자리와 하나 이상의 영숫자 문자가 일치합니다: regexp.test에 `g` 플래그가 있는 경우 regexp.test는 regexp.lastIndex 속성을 사용합니다. 그냥 regexp.exec처럼. 정규식을 replace로 사용하는 실제 힘은 대체 문자열에서 일치하는 그룹을 참조할 수 있다는 사실에서 비롯됩니다. 예를 들어 이름, 줄당 하나의 이름을 포함하는 큰 문자열이 성, 이름 형식이라고 가정해 보겠습니다. 이러한 이름을 바꾸고 쉼표를 제거하여 이름 성 이름 형식을 얻으려면 다음 코드를 사용할 수 있습니다. 예를 들어 패턴 /abc/는 문자열에서 문자 조합을 일치시면 `abc` 문자가 함께 그리고 순서대로 정확하게 발생하는 경우에만 일치합니다. 이러한 경기는 문자열에 성공할 것 “안녕, 당신은 당신의 abc의를 알고 있습니까?” 그리고 “최신 비행기 디자인은 슬래브 크래프트에서 진화.” 두 경우 모두 일치는 하위 문자열 `abc`와 일치합니다. 문자열 `Grab 게`에는 하위 문자열 `ab c`가 포함되어 있지만 정확한 하위 문자열 `abc`를 포함하지 않기 때문에 일치하지 않습니다. 정규식을 동적으로 만들려는 경우도 있을 수 있으며, 이 경우 정규식 리터럴이 작동하지 않으므로 정규식 생성기를 사용해야 합니다. 범위 [a-z] — 알파벳의 모든 문자를 한 위치에 일치시키고 싶다면 괄호 안에 모든 문자를 쓸 수 있지만 더 쉬운 방법이 있으며 범위입니다. 예를 들어 [a-h]는 a에서 h. Ranges의 모든 문자와 일치합니다. 이러한 백슬래시 코드는 대괄호 내부에서도 사용할 수 있습니다.

예를 들어 [d.]는 숫자 또는 마침표 문자를 의미합니다. 그러나 대괄호 사이의 기간 자체는 특별한 의미를 잃습니다. +와 같은 다른 특수 문자도 마찬가지입니다. 그런 다음 이 장의 시작 부분에 있는 레시피는 대부분의 정규법 관련 작업에 대한 솔루션을 제공하므로 참조하십시오. 예를 들어 특정 이메일 주소를 일치시키는 대신 여러 이메일 주소를 일치시키겠다고 가정해 보겠습니다. 여기서 특수 캐릭터가 등장합니다. 정규식을 완전히 이해하기 위해 암기해야 하는 특별한 기호와 문자가 있습니다. 일치하는 검색에 하나 이상의 b를 찾거나 공백을 찾는 것과 같이 직접 일치 이상의 것이 필요한 경우 패턴에 특수 문자를 포함할 수 있습니다. 예를 들어 단일 `a`와 0개 이상의 `b`와 `c`를 따라 `c`를 일치시키기 위해 패턴 /ab*c/: `b` 뒤에 있는 *는 `이전 항목의 0 개 이상의 발생`을 의미합니다. “cbbabbbbdebc” 문자열에서 패턴은 하위 문자열 `abbbbc`와 일치합니다. 해당 플래그를 추가하지 않으면 이모티콘이 내부적으로 2자로 표현되는 JavaScript의 경우(JavaScript의 유니코드 참조) 때문에 한 문자와 일치해야 하는 이 간단한 정규식은 작동하지 않습니다. 인수: func(str, offset, 입력).

진실은 제대로 정규 표현을 이해하는 것은 당신에게 훨씬 더 효과적인 프로그래머를 만들 것입니다. 정규식 세계를 완전히 이해하려면 나중에 빌드할 수 있는 기본 개념을 먼저 배워야 합니다. 위에서 언급했듯이 w 또는 W는 ASCII 기반 문자만 일치합니다. 예를 들어 “a”에서 “z”, “A”에서 “Z”, “0”에서 “9”, “_”로 합니다. 키릴 또는 히브리어와 같은 다른 언어의 문자를 일치시키기 위해 uhhhh를 사용하며 여기서 “hhhh”는 헥사데피좀에서 문자의 유니코드 값입니다. 이 예제에서는 유니코드 문자를 단어에서 분리하는 방법을 보여 줍니다. 이제 이 장을 계속 읽고 모든 방법에 대한 세부 정보를 얻을 수 있습니다… 그러나 처음 읽는 경우 정규식에 대해 더 알고 싶을 것입니다.

따라서 다음 장으로 이동한 다음 메서드에 대한 것이 명확하지 않은 경우 여기로 돌아갈 수 있습니다. 다음 규칙에 따라 일치: 특수문자 앞에 오는 백슬래시는 다음 문자가 특별하며 문자 그대로 해석되지 않음을 나타냅니다.