>  기사  >  웹 프론트엔드  >  자바스크립트 정규식 매개변수 /g, /i, /gi_javascript 스킬 사용 안내

자바스크립트 정규식 매개변수 /g, /i, /gi_javascript 스킬 사용 안내

WBOY
WBOY원래의
2016-05-16 16:38:331253검색

정규식=/pattern/[스위치]

이 스위치에는 세 가지 값이 있습니다. g: 전역 일치 i: 대소문자 무시 gi: 전역 일치 대소문자 무시 JScript 언어 참조

---------------------------------- --- ---------------------

역참조 정규 표현식의 가장 중요한 기능 중 하나는 나중에 사용하기 위해 성공적으로 일치하는 패턴의 일부를 저장하는 기능입니다. 정규식 패턴이나 패턴의 일부 주위에 괄호를 추가하면 해당 표현식의 일부가 임시 버퍼에 저장된다는 점을 기억하세요. 비캡처 메타 문자 '?:', '?=' 또는 '?!'를 사용하여 정규식의 이 부분 저장을 무시할 수 있습니다.

캡처된 각 부분 일치는 정규식 패턴에서 왼쪽에서 오른쪽으로 발견된 대로 저장됩니다. 부분 일치가 저장되는 버퍼는 1부터 시작하여 최대 99개의 하위 표현식까지 연속적으로 번호가 지정됩니다. 각 버퍼는 'n'을 사용하여 액세스할 수 있습니다. 여기서 n은 특정 버퍼를 식별하는 한 자리 또는 두 자리 십진수입니다.

역참조의 가장 간단하고 유용한 응용 중 하나는 텍스트에서 두 개의 동일한 단어가 연속적으로 나타나는 위치를 결정하는 기능입니다. 다음 문장을 보세요: 휘발유 가격이 올라가나요? 쓰여진 내용에 따르면 위 문장은 분명히 단어가 여러 번 반복되는 문제가 있습니다. 모든 단어의 중복을 찾지 않고 이 문장을 수정할 수 있는 방법이 있다면 좋을 것입니다. 다음 JScript 정규식은 하위 표현식을 사용하여 이 기능을 구현합니다.

/b([a-z] ) 1b/gi에 해당하는 VBScript 표현은 다음과 같습니다.

"b([a-z] ) 1b" 이 예에서 하위 표현식은 괄호 안의 각 용어입니다. 캡처된 표현식은 '[a-z] '로 지정된 하나 이상의 영문자로 구성됩니다. 정규식의 두 번째 부분은 이전에 캡처한 부분 일치에 대한 참조입니다. 이는 추가된 표현식과 일치하는 단어가 두 번째로 나타나는 것입니다. '1'은 첫 번째 부분 일치를 지정하는 데 사용됩니다. 단어 경계 메타 문자는 개별 단어만 감지되도록 합니다. 이것이 수행되지 않으면 "발급됨" 또는 "이것은"과 같은 문구가 표현식에서 잘못 인식됩니다.

JScript 표현식에서 정규식 뒤의 전역 플래그('g')는 해당 표현식이 입력 문자열에서 가능한 한 많은 일치 항목을 찾는 데 사용됨을 나타냅니다. 대소문자 구분은 표현식 끝에 있는 대소문자 구분 표시('i')로 지정됩니다. 여러 줄 태그는 개행 문자의 양쪽에서 발생할 수 있는 잠재적 일치 항목을 지정합니다. VBScript의 경우 다양한 태그를 표현식에 설정할 수 없지만 RegExp 개체의 속성을 사용하여 명시적으로 설정해야 합니다. ​

위에 표시된 정규식을 사용하여 다음 JScript 코드는 부분 일치 정보를 사용하여 리터럴 문자열에서 동일한 단어의 두 연속 발생을 동일한 단어로 바꿀 수 있습니다.

var ss = "휘발유 가격이 올라가나요?.n"; var re = /b([a-z] ) 1b/gim; //정규 표현식 생성 style.var rv = ss.replace (re ,"$1"); //두 단어를 한 단어로 바꿉니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.