자바 스크립트 정규식 예제

Posted on

두 문에서 /d(b+)d/g의 발생은 서로 다른 정규식 개체이므로 lastIndex 속성에 대해 서로 다른 값을 갖습니다. 개체 초기화자로 만든 정규식의 속성에 액세스해야 하는 경우 먼저 변수에 할당해야 합니다. 작업을 단순화하기 위해 괄호를 사용하여 식을 함께 그룹화할 수 있습니다. 우리가 고양이 야옹을 가지고 있고 우리는 그 야옹과 일치하고 싶다고 가정 할 수 있습니다 : 이것은 할당 식 (=)의 값이 할당 된 값이라는 사실을 사용합니다. 따라서 while 문의 조건으로 match = number.exec(input)를 사용하여 각 반복을 시작할 때 일치를 수행하고, 그 결과를 바인딩에 저장하고, 더 이상 일치하는 항목이 없을 때 반복을 중지합니다. .exec() 메서드를 사용할 때 `g` 플래그와 관련된 동작이 다릅니다. (“클래스”와 “인수”의 역할이 반전됩니다 : .match()의 경우 문자열 클래스 (또는 데이터 형식)가 메서드를 소유하고 정규식은 인수일 뿐이며 .exec(의 경우)은 문자열을 사용하여 메서드를 소유하는 정규식입니다. 인수입니다. 대조 str.match(재) 대 re.exec(str). `g` 플래그는 .exec() 메서드와 함께 사용되어 반복진행을 가져옵니다. 정규식 프로그램의 많은 버그는 의도하지 않게 욕심없는 연산자가 더 잘 작동하는 욕심 연산자로 추적 할 수 있습니다. 반복 연산자사용시 먼저 비욕적인 변형을 고려하십시오.

정규식은 프로그래밍 언어에 따라 다릅니다. 이 튜토리얼에서는 자바 스크립트에 집중합니다. 물론 많은 공통점이 있지만 펄, 루비, PHP 등에서 다소 다릅니다. 문자열 인수 대신 정규식 인수를 위의 메서드에서 사용할 수 있습니다. 정규표현식은 검색의 훨씬 더 강력해지요(예: 대/소문자 구분). 이러한 백슬래시 코드는 대괄호 내부에서도 사용할 수 있습니다. 예를 들어 [d.]는 숫자 또는 마침표 문자를 의미합니다. 그러나 대괄호 사이의 기간 자체는 특별한 의미를 잃습니다.

+와 같은 다른 특수 문자도 마찬가지입니다. 괄호 안에 값을 캡처할 필요는 없습니다. 이 예제에서는 x가 일치하지만 저장되지 않음과 같이 캡처되지 않은 괄호를 사용할 수도 있습니다. 정규식 개체에는 속성이 있습니다. 이러한 속성 중 하나는 식이 만든 문자열을 포함하는 소스입니다. 다른 속성은 lastIndex, 제어 하는 일부 제한 된 상황에서, 다음 일치 가 시작 됩니다.