javascript regex 예제

그러나 이것은 단순한 예입니다. 기본 줄 끝은 플랫폼(유닉스, Windows 등)에 따라 다릅니다. 이 예제에서 제공하는 줄 분할은 모든 플랫폼에서 작동합니다. 정규식에 g 플래그가 있는지 여부에 따라 다르게 작동합니다. 코드 골프는 가능한 한 적은 문자로 특정 프로그램을 표현하려고 하는 게임에 사용되는 용어입니다. 마찬가지로, regexp 골프는 주어진 패턴과 일치하도록 가능한 한 작은 정규식으로 쓰는 관행이며, 그 패턴만. 터전 X | Y — X 또는 Y중 하나와 일치합니다. 예: 부정문자 집합 [^xyz] — 대괄호에 포함되지 않은 모든 항목과 일치합니다. 예를 들어 플래그를 결합할 수 있으며 정규식 리터럴의 문자열 끝에 추가됩니다. 그러나 테스트 문자열의 형식과 일치하려면 어떻게해야합니까? 우리는 여러 d 문자를 사용할 수 있습니다. 예를 들어 11과 일치하려면 두 숫자를 연속적으로 나타내는 dd를 사용하기만 하면 됩니다. 아래 코드를 살펴보십시오: 또는 아래에 설명된 regexp.exec으로 루프를 만들 수 있습니다.

예를 들어 [^abc]는 [^a-c]와 같습니다. 처음에는 `brisket`와 `h`의 `잘라내기`에서 `r`과 일치합니다. 앞슬래시는 위의 예제에서 패턴을 동봉하는 데 사용되므로 정시 슬래시 ( ) 를 백슬래시 ( )로 이스케이프해야합니다. 예를 들어 /bo*/는 `유령 부우`와 `b`의 `부우`와 `새가 뒤틀린 새`와 일치하지만 `염소가 그룬`에는 아무것도 일치하지 않습니다. 일치하는 부분을 기억하지 않고 하위 문자열을 일치시키기 위해 괄호 안에 는 패턴을 ?:로 서문으로 정합니다. 예를 들어,(?: d+) 하나 이상의 숫자 문자와 일치하지만 일치하는 문자를 기억하지 않습니다. 물음표는 패턴의 일부를 선택사항으로 만들므로 0회 또는 한 번 발생할 수 있습니다. 다음 예제에서는 u 문자가 발생할 수 있지만 패턴이 누락된 경우에도 일치합니다. 정규식은 때때로 상당히 복잡할 수 있지만 위의 개념을 적절하게 이해하면 보다 복잡한 정규식 패턴을 쉽게 이해하는 데 도움이 됩니다.

정규식에 대한 자세한 내용은 여기에서 확인할 수 있으며 여기에서 연습할 수 있습니다. 실제 일치를 수행하기 위해 엔진은 흐름 다이어그램과 같은 정규식을 처리합니다. 이전 예제에서 가축 표현식에 대한 다이어그램입니다. 예를 들어 요소 옆에 {4}를 두면 정확히 네 번 발생해야 합니다. {2,4}는 요소가 최소한 두 번, 최대 4번 발생해야 함을 의미합니다. 각 테스트는 통과합니다. 왜냐하면 우리는 고양이를 고양이로 만들고 선택 사항이라고 말했기 때문입니다. 정규식 끝에 i를 추가했습니다. 이를 플래그라고 하며 검색에서 대/소문자를 무시합니다. 고양이가 여전히 고양이와 일치하는 이유입니다! 육각형 수 nn으로 지정된 라틴문자; 예를 들어 x0A는 n과 동일합니다.

예를 들어 /green|red/match `녹색 사과`와 `빨간 사과`의 `빨간색`입니다. `x`와 `y`의 순서는 중요합니다. 예를 들어 a*|b는 „b”의 빈 문자열과 일치하지만 b|a*는 동일한 문자열의 „b”와 일치합니다. 추가로 여러 문자 집합을 사용하여 동일한 것과 일치시킬 수 있다는 점을 아는 것이 중요합니다. 다음은 위에서 언급한 두 가지 예입니다. 예를 들어 „a”에서 „z”, „A”에서 „Z”, „0”에서 „9”, „_”로 합니다. 키릴 또는 히브리어와 같은 다른 언어의 문자를 일치시키기 위해 uhhhh를 사용하며 여기서 „hhhh”는 헥사데피좀에서 문자의 유니코드 값입니다. 이 예제에서는 유니코드 문자를 단어에서 분리하는 방법을 보여 줍니다. 정규식(또는 하위 문자열)을 구분 기호로 사용하여 문자열을 분할합니다. grep, sed 및 인기 있는 텍스트 편집기와 같은 UNIX 도구에서 구현된 정규식은 인기가 높아졌고 Perl 프로그래밍 언어로 도입되었으며 나중에는 많은 다른 언어에서 도입되었습니다.